/* Terra Lands motion system. Original site-local.css owns layout and brand. */
:root{--terra-motion-ease:cubic-bezier(.16,1,.3,1);--terra-ui-ease:cubic-bezier(.25,.8,.25,1);--terra-reveal-time:820ms;--terra-motion-distance:12px}
@property --terra-hover-scale{syntax:"<number>";inherits:false;initial-value:1}
html{scroll-behavior:smooth;scroll-snap-type:none!important}
body{overflow-x:clip}
.terra-scroll-progress{position:fixed;left:0;top:0;height:2px;width:100%;background:rgb(var(--brand-brass));transform:scaleX(0);transform-origin:left;z-index:115;pointer-events:none}
header .nav-glass-shell{transition:background 460ms var(--terra-ui-ease),border-color 460ms var(--terra-ui-ease),box-shadow 460ms var(--terra-ui-ease),color 320ms var(--terra-ui-ease)}
html[data-header-settled=true] header .nav-glass-shell{box-shadow:0 16px 48px #101a1426}
[data-reveal-group]>[data-reveal]{--reveal-delay:0ms!important}
[data-terra-reveal][data-reveal-state=visible]{animation:none!important}
[data-terra-reveal]{transition:opacity 640ms var(--terra-motion-ease),transform var(--terra-reveal-time) var(--terra-motion-ease);transition-delay:var(--terra-delay,0ms)}
[data-terra-reveal=pending]{opacity:.01;transform:translate3d(0,var(--terra-motion-distance),0)}
[data-terra-reveal=visible]{opacity:1;transform:translateZ(0)}
[data-terra-kind=heading]{transform:none!important;--terra-reveal-time:960ms}
[data-terra-kind=heading][data-terra-reveal=pending]{opacity:.65}
[data-terra-kind=form]{transform:none!important}
main h2{font-weight:460!important;letter-spacing:-.018em;text-wrap:balance}
.terra-word-mask{display:inline-block;overflow:clip;vertical-align:top;padding-bottom:.1em;margin-bottom:-.1em}
.terra-word{display:inline-block;opacity:1;transform:translateZ(0);transition:transform 960ms var(--terra-motion-ease),opacity 700ms var(--terra-motion-ease);transition-delay:calc(var(--terra-delay,0ms) + var(--terra-word-delay,0ms))}
html[data-terra-motion=on] [data-terra-reveal=pending] .terra-word{opacity:0;transform:translate3d(0,105%,0)}
#services article h3,#projects [data-project-card] h3{font-family:var(--font-display);font-weight:500;letter-spacing:-.012em}
#testimonials [data-terra-reveal]{--terra-motion-distance:7px;--terra-reveal-time:720ms}
#why-us [data-terra-reveal],#contact [data-terra-reveal],#faq [data-terra-reveal]{--terra-motion-distance:8px;--terra-reveal-time:720ms}
.terra-hero-image{transform-origin:55% 45%}
.terra-hero-image img{animation:none!important;transform:scale(1.04);transform-origin:55% 45%}
.terra-hero-copy{transform:none!important;opacity:1!important}
.hero-reveal{animation-name:terra-arrive;animation-duration:900ms;animation-timing-function:var(--terra-motion-ease);transform:translateY(12px)}
.terra-title-name.hero-reveal{animation-duration:1200ms}
.terra-title-discipline.hero-reveal{animation-duration:1000ms}
.terra-hero-description.hero-reveal{animation-duration:850ms}
.terra-hero-actions.hero-reveal,.terra-hero-bottom.hero-reveal{animation-duration:750ms}
.terra-line-reveal{animation:none!important;transform:none!important;opacity:1!important}
@keyframes terra-arrive{from{opacity:0;transform:translate3d(0,12px,0)}to{opacity:1;transform:translateZ(0)}}
.terra-spatial-photo{transform:translate3d(0,var(--terra-media-y,0px),0) scale(var(--terra-media-scale,1.04)) scale(var(--terra-hover-scale,1));transition:--terra-hover-scale 620ms var(--terra-motion-ease)!important;transform-origin:center}
.terra-photo-frame{clip-path:inset(0);transition:clip-path 1100ms var(--terra-motion-ease);transition-delay:var(--terra-delay,0ms)}
[data-terra-reveal=pending] .terra-photo-frame{clip-path:inset(0 0 8% 0)}
.terra-section-seam{position:absolute;inset:0 0 auto;height:clamp(48px,7vh,78px);z-index:1;pointer-events:none;background:linear-gradient(to bottom,var(--terra-seam-color),transparent)}
.terra-scroll-showcase{display:block!important;min-height:165svh!important;padding-block:0!important;overflow:visible!important}
.terra-transform-sticky{position:relative;isolation:isolate}
.terra-scroll-showcase .terra-transform-sticky{position:sticky;top:0;min-height:100svh;display:flex;align-items:center;overflow:clip;padding:100px 0 58px}
.terra-transform-sticky>.page-shell{width:100%;position:relative;z-index:10}
.terra-scroll-showcase .terra-transform-sticky>.page-shell{min-height:0!important;padding-block:0!important}
.terra-scroll-showcase .botanical-margins{position:absolute;inset:0;overflow:clip;pointer-events:none}
.botanical-butterfly-flight{display:none}
.botanical-side{transform:translate3d(0,var(--terra-botanical-y,0px),0);opacity:.7;transition:opacity 1200ms var(--terra-motion-ease)}
.botanical-margins[data-botanical-visible=false] .botanical-side{opacity:0}
.terra-comparison-control{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:11px 3px 0;color:#e4e8e1;font-family:var(--font-sans);font-size:11px;line-height:1.5}
.terra-comparison-control label{font-weight:600;letter-spacing:.03em}
.terra-comparison-control input{flex:1;min-width:100px;accent-color:rgb(var(--brand-brass));min-height:30px}
.terra-comparison-control output{min-width:35px;text-align:right;font-variant-numeric:tabular-nums}
#comparison-panel{touch-action:pan-y pinch-zoom}
#comparison-panel img{transition:opacity 220ms var(--terra-ui-ease)}
#comparison-panel [data-comparison-handle]{touch-action:none;transition:box-shadow 200ms var(--terra-ui-ease),background 200ms var(--terra-ui-ease)!important}
#transformation [role=tab]{transition:background 220ms var(--terra-ui-ease),border-color 220ms var(--terra-ui-ease),color 220ms var(--terra-ui-ease)}
#transformation [role=tab][aria-selected=true]{border-color:#d7b56d70!important;background:#ffffff24!important;color:white!important}
#transformation [role=tab][aria-selected=false]{border-color:#ffffff1a!important;background:#ffffff10!important;color:#ffffffb3!important}
#transformation [role=tab] span:last-child{transform:scaleY(0)}
#transformation [role=tab][aria-selected=true] span:last-child{transform:scaleY(1)}
[data-project-card]{transition:opacity 640ms var(--terra-motion-ease) var(--terra-delay,0ms),transform 820ms var(--terra-motion-ease) var(--terra-delay,0ms),border-color 360ms var(--terra-ui-ease),box-shadow 360ms var(--terra-ui-ease)}
.terra-process-rule{transform:scaleX(var(--terra-step-fill,0))!important;transition:none!important}
.terra-process-step[data-active=true] .terra-process-number{color:rgb(var(--brand-copper))}
.terra-process-step .terra-process-number{transition:color 250ms var(--terra-ui-ease)}
.terra-signature-flow{transition:color 350ms var(--terra-ui-ease),opacity 350ms var(--terra-ui-ease)}
.terra-signature-flow[data-flow-active=true]{color:#a27d38}
.terra-motion-footer{display:flex;justify-content:center;padding:16px 20px 24px;font-family:var(--font-sans);background:rgb(var(--brand-ink))}
.terra-motion-footer button{font:500 11px var(--font-sans);color:rgb(var(--brand-stone));background:transparent;border:1px solid #ffffff24;padding:9px 14px;border-radius:40px;min-height:40px;cursor:pointer;transition:background 180ms}
.terra-motion-footer button:hover{background:#ffffff10}
.terra-motion-footer button[aria-pressed=true]{border-color:#d7b56d80;color:rgb(var(--brand-brass))}
.terra-mobile-panel{position:fixed;top:90px;left:20px;right:20px;z-index:80;padding:12px;border:1px solid #ffffff40;border-radius:24px;background:#25392bf5;box-shadow:0 20px 64px #101a1466;backdrop-filter:blur(20px);font-family:var(--font-sans);pointer-events:auto;max-height:calc(100svh - 110px);overflow-y:auto}
.terra-mobile-panel[hidden]{display:none!important}
.terra-mobile-panel nav{display:grid;gap:4px}
.terra-mobile-panel a{display:block;color:#f4f5f2;padding:12px 16px;min-height:44px;font-size:14px;border-radius:14px}
.terra-mobile-panel a:hover,.terra-mobile-panel a:focus-visible{background:#ffffff15}
.terra-mobile-panel{transition:opacity 180ms var(--terra-ui-ease),transform 180ms var(--terra-ui-ease)}
.terra-mobile-panel[data-open=true]{animation:terra-menu-enter 380ms var(--terra-motion-ease)}
.terra-mobile-panel[data-closing=true]{animation:none!important;opacity:0;transform:translate3d(0,-6px,0)}
@keyframes terra-menu-enter{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
.terra-project-dialog{width:min(1000px,calc(100vw - 40px));max-height:calc(100svh - 48px);border:1px solid #ffffff20;border-radius:18px;padding:0;background:#f4f5f2;color:#25392b;box-shadow:0 34px 130px #101a1480;font-family:var(--font-sans)}
.terra-project-dialog{transition:opacity 180ms var(--terra-ui-ease),transform 180ms var(--terra-ui-ease)}
.terra-project-dialog::backdrop{background:#101a14bd;backdrop-filter:blur(6px);animation:terra-backdrop-enter 480ms var(--terra-ui-ease);transition:opacity 180ms var(--terra-ui-ease)}
.terra-project-dialog[open]{animation:terra-dialog-enter 480ms var(--terra-motion-ease)}
.terra-project-dialog[data-closing=true]{animation:none!important;opacity:0;transform:translate3d(0,8px,0)}
.terra-project-dialog[data-closing=true]::backdrop{animation:none!important;opacity:0}
@keyframes terra-backdrop-enter{from{opacity:0}to{opacity:1}}
.terra-project-dialog-shell{position:relative}
.terra-project-dialog-picture{display:block;width:100%;overflow:hidden}
.terra-project-dialog-image{display:block;width:100%;max-height:390px;aspect-ratio:16/8;object-fit:cover}
.terra-project-dialog-content{padding:28px 36px 34px}
.terra-project-dialog-content h2{font:400 clamp(30px,4vw,48px)/1.1 var(--font-display);margin:10px 0 14px;color:#203426}
.terra-project-dialog-content p{font-size:14px;line-height:1.8;margin-block:12px}
.terra-project-dialog-close{position:absolute;top:16px;right:16px;z-index:3;background:#101a14e6;border:1px solid #ffffff50;color:white;border-radius:30px;padding:10px 17px;min-height:44px;font:500 13px var(--font-sans);cursor:pointer}
.terra-project-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:24px;border-top:1px solid #25392b22;padding-top:24px}
.terra-project-details dt{font:500 11px var(--font-sans);letter-spacing:.13em;text-transform:uppercase;color:#897041;margin-bottom:8px}
.terra-project-details dd{font-size:13px;line-height:1.8;margin:0}
.terra-project-materials{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:24px 0;font-size:12px}
.terra-project-materials li{padding:8px 12px;background:#e4e8e1;border-radius:20px}
.terra-dialog-cta{display:inline-flex;align-items:center;gap:12px;padding:13px 22px;min-height:46px;background:#25392b;color:#f4f5f2;border-radius:30px;text-decoration:none;font-size:13px}
@keyframes terra-dialog-enter{from{opacity:0;transform:translate3d(0,12px,0)}to{opacity:1;transform:translateZ(0)}}
.terra-contact-review{margin-top:24px;padding:20px;border:1px solid #d7b56d4d;border-radius:12px;background:#ffffff0a;color:#f4f5f2}
.terra-contact-review h4{font:400 26px var(--font-display);margin:0 0 12px}
.terra-contact-review-note{font-size:12px;line-height:1.8;color:#ffffffb3;margin-bottom:14px}
.terra-contact-review pre{white-space:pre-wrap;overflow-wrap:anywhere;font:400 12px/1.9 var(--font-sans);margin:0 0 18px}
.terra-contact-review a{display:inline-flex;align-items:center;min-height:44px;border-radius:28px;padding:12px 20px;background:#dde8d5;color:#25392b;font-size:13px;font-weight:600;text-decoration:none}
.terra-contact-edit{min-height:44px;padding:12px 16px;font-size:12px;color:#e4e8e1;text-decoration:underline;text-underline-offset:4px}
.terra-choice-selected{box-shadow:inset 0 0 0 1px #d7b56d5c}
#contact input,#contact select,#contact textarea{transition:border-color 180ms var(--terra-ui-ease),box-shadow 180ms var(--terra-ui-ease)}
#faq details>div{animation:terra-faq-enter 280ms var(--terra-ui-ease)}
@keyframes terra-faq-enter{from{opacity:.25;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){html[data-terra-motion=on] [data-project-card]:hover [data-project-image]{--terra-hover-scale:1.018;transform:translate3d(0,var(--terra-media-y,0px),0) scale(var(--terra-media-scale,1.04)) scale(var(--terra-hover-scale,1))!important}[data-project-card]:hover{border-color:#d7b56d52}.terra-project-open:hover span,[data-project-cta]:hover span{transform:translateX(4px)}#services article[data-terra-reveal=visible]:hover,#about [data-terra-reveal=visible]:hover{transform:none!important}#services article:hover svg{transform:none!important}}
@media(max-width:1023px),(max-height:690px){.terra-scroll-showcase{min-height:initial!important}.terra-transform-sticky{position:relative;min-height:initial;padding:0}.terra-comparison-control input{min-height:44px}}
@media(max-width:767px){:root{--terra-reveal-time:600ms;--terra-motion-distance:7px}.terra-word{transition-duration:700ms,500ms;transition-delay:calc(var(--terra-word-delay,0ms) * .55)}.terra-project-dialog{width:calc(100vw - 24px);max-height:calc(100svh - 24px)}.terra-project-dialog-content{padding:22px}.terra-project-details{grid-template-columns:1fr;gap:18px}.terra-project-dialog-image{max-height:270px;aspect-ratio:4/3}.terra-mobile-panel{top:84px}.terra-motion-footer button{min-height:44px}.terra-hero-image img{transform:none!important}.terra-photo-frame{transition-duration:750ms}#projects [data-project-card]{min-width:0!important}#projects [data-project-card] img{transform:none!important}#projects [data-reveal-group]{display:grid!important;grid-template-columns:1fr!important;overflow:visible!important;gap:24px!important}}
/* Progressive enhancement: these overrides keep every section available without motion. */
html[data-terra-motion=off]{scroll-behavior:auto}
html[data-terra-motion=off] [data-terra-reveal]{opacity:1!important;transform:none!important;transition:none!important;animation:none!important}
html[data-terra-motion=off] .terra-scroll-showcase{min-height:initial!important}
html[data-terra-motion=off] .terra-transform-sticky{position:relative;min-height:initial;padding:0}
html[data-terra-motion=off] .terra-hero-image img,html[data-terra-motion=off] .terra-hero-copy{transform:none!important;opacity:1!important}
html[data-terra-motion=off] .hero-reveal,html[data-terra-motion=off] .terra-line-reveal{animation:none!important;transform:none!important;opacity:1!important}
html[data-terra-motion=off] .terra-word{opacity:1!important;transform:none!important;transition:none!important}
html[data-terra-motion=off] .terra-spatial-photo,html[data-terra-motion=off] .botanical-side{transform:none!important;opacity:1!important}
html[data-terra-motion=off] .terra-photo-frame{clip-path:none!important;transition:none!important}
html[data-terra-motion=off] *,html[data-terra-motion=off] *::before,html[data-terra-motion=off] *::after{animation-duration:.01ms!important;transition-duration:.01ms!important;animation-iteration-count:1!important}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}[data-terra-reveal]{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}.terra-scroll-showcase{min-height:initial!important}.terra-transform-sticky{position:relative;min-height:initial;padding:0}.terra-hero-image img,.terra-hero-copy,.terra-word,.terra-spatial-photo,.botanical-side{transform:none!important;opacity:1!important}.terra-photo-frame{clip-path:none!important;transition:none!important}.terra-project-dialog[open],.terra-project-dialog::backdrop,.terra-mobile-panel[data-open=true],#faq details>div{animation:none!important}}
