:root{--forest:#1f3a2e;--sage:#7a8f6b;--terracotta:#b65f3e;--stone:#ede7dc;--cream:#f7f4ed;--charcoal:#2b2b2b;--white:#fff;--serif:"Playfair Display", serif;--sans:"Inter", sans-serif;--ease-out:cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{min-height:100vh;font-family:var(--sans);color:var(--charcoal);background:var(--cream)}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.site-header{z-index:1000;background:var(--cream);height:104px;transition:height .45s var(--ease-out), background-color .4s ease, box-shadow .4s ease, transform .45s var(--ease-out);grid-template-columns:250px 1fr 260px;align-items:stretch;display:grid;position:sticky;top:0}.logo{border-right:1px solid #1f3a2e1f;justify-content:center;align-items:center;padding:0 2rem;display:flex}.logo img{object-fit:contain;width:185px;height:82px;transition:width .45s var(--ease-out), height .45s var(--ease-out), transform .3s var(--ease-out);-webkit-user-drag:none;-webkit-user-select:none;user-select:none;display:block}.logo:hover img{transform:translateY(-2px)}.main-nav{justify-content:center;align-items:center;gap:clamp(2rem,3.2vw,3.75rem);padding:0 2rem;display:flex}.main-nav a{letter-spacing:.09em;text-transform:uppercase;height:100%;color:var(--charcoal);transition:color .3s ease, transform .35s var(--ease-out);align-items:center;font-size:.8rem;font-weight:600;display:flex;position:relative}.main-nav a:after{content:"";background:var(--forest);transform-origin:100%;width:100%;height:1px;transition:transform .4s var(--ease-out);position:absolute;bottom:28px;left:0;transform:scaleX(0)}.main-nav a:hover{color:var(--forest);transform:scale(1.06)}.main-nav a:hover:after{transform-origin:0;transform:scaleX(1)}.main-nav a.active{color:var(--forest)}.main-nav a.active:after{transform:scaleX(1)}.main-nav:hover a.active:not(:hover):after{transform:scaleX(0)}.main-nav a.active:hover:after{transform:scaleX(1)}.header-cta{isolation:isolate;color:var(--forest);background:#1f3a2e0e;border-left:1px solid #1f3a2e24;justify-content:center;align-items:center;padding:0 1.75rem;transition:color .4s,background-color .4s;display:flex;position:relative;overflow:hidden}.cta-text{white-space:nowrap;letter-spacing:.075em;text-transform:uppercase;font-size:.76rem;font-weight:600;line-height:1}.header-cta:before{content:"";z-index:-1;background:var(--forest);transition:transform .45s var(--ease-out);position:absolute;inset:0;transform:translateY(101%)}.header-cta:hover{color:var(--cream)}.header-cta:hover:before{transform:translateY(0)}.site-header.scrolled{-webkit-backdrop-filter:blur(14px);background:#f7f4edeb;height:76px;box-shadow:0 1px #1f3a2e14,0 8px 30px #1f3a2e0d}.site-header.scrolled .logo img{width:150px;height:62px}.site-header.scrolled .main-nav a:after{bottom:19px}.site-header.header-hidden{transform:translateY(-100%)}.hero{isolation:isolate;align-items:center;min-height:calc(100vh - 104px);padding:5rem clamp(2rem,5vw,6rem);display:flex;position:relative;overflow:hidden}.hero:before{content:"";z-index:-2;animation:heroImageReveal 1.8s var(--ease-out) forwards;background-image:url(/images/OVL_Hero.jpeg);background-position:50%;background-size:cover;position:absolute;inset:0;transform:scale(1.06)}.hero-overlay{z-index:-1;background:linear-gradient(90deg,#0a120dd1 0%,#0a120d9e 32%,#0a120d2e 60%,#0a120d08 100%);position:absolute;inset:0}.hero-content{z-index:1;width:min(620px,100%);color:var(--white);position:relative}.eyebrow{letter-spacing:.22em;text-transform:uppercase;margin-bottom:1.4rem;font-size:.75rem;font-weight:600}.hero h1{font-family:var(--serif);letter-spacing:-.03em;margin-bottom:1.5rem;font-size:clamp(3.5rem,5.5vw,6.2rem);font-weight:500;line-height:.98}.hero-description{color:#ffffffe6;max-width:540px;margin-bottom:2rem;font-size:1rem;line-height:1.7}.hero-actions{gap:1rem;display:flex}.btn{letter-spacing:.08em;text-transform:uppercase;min-height:52px;transition:background-color .3s ease, color .3s ease, border-color .3s ease, transform .3s var(--ease-out);justify-content:center;align-items:center;gap:1.2rem;padding:0 1.5rem;font-size:.78rem;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.btn-primary{background:var(--cream);color:var(--forest)}.btn-primary:hover{background:var(--stone);transform:translateY(-2px)}.btn-outline{color:var(--white);border:1px solid #ffffffbf}.btn-outline:hover{background:var(--white);color:var(--forest);transform:translateY(-2px)}.btn span{transition:transform .3s var(--ease-out);display:inline-block}.btn:hover span{transform:translate(5px)}.eyebrow,.hero h1,.hero-description,.hero-actions{opacity:0;animation:heroContentReveal .8s var(--ease-out) forwards;transform:translateY(24px)}.eyebrow{animation-delay:.25s}.hero h1{animation-delay:.4s}.hero-description{animation-delay:.55s}.hero-actions{animation-delay:.7s}.scroll-indicator{z-index:2;color:#fffc;opacity:0;flex-direction:column;align-items:center;gap:.75rem;animation:.8s 1.1s forwards scrollIndicatorReveal;display:flex;position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%)}.scroll-indicator span{letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;font-size:.62rem;font-weight:500}.scroll-line{background:#ffffff4d;width:1px;height:38px;position:relative;overflow:hidden}.scroll-line:after{content:"";background:var(--white);width:100%;height:100%;animation:1.8s ease-in-out infinite scrollLineMove;position:absolute;top:-100%;left:0}.services-intro{background:linear-gradient(180deg, var(--cream) 0%, var(--cream) 48%, #eef0e8 48%, #eef0e8 100%);padding:clamp(7rem,10vw,10rem) clamp(2rem,6vw,7rem) clamp(6rem,9vw,9rem);position:relative;overflow:hidden}.services-container{z-index:1;width:min(1180px,100%);margin:0 auto;position:relative}.services-watermark{font-family:var(--serif);color:#1f3a2e09;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:clamp(7rem,14vw,14rem);font-weight:500;line-height:1;position:absolute;top:3rem;right:-1rem}.services-heading{max-width:760px;margin-bottom:clamp(5rem,8vw,8rem)}.section-eyebrow{color:var(--sage);letter-spacing:.2em;text-transform:uppercase;margin-bottom:1.5rem;font-size:.7rem;font-weight:600}.services-heading h2{font-family:var(--serif);letter-spacing:-.035em;color:var(--forest);margin-bottom:1.75rem;font-size:clamp(3rem,5vw,5.5rem);font-weight:500;line-height:1}.services-lead{color:#2b2b2bb8;max-width:580px;font-size:1rem;line-height:1.8}.services-grid{z-index:2;background:var(--forest);border:1px solid #1f3a2e38;grid-template-columns:repeat(3,1fr);display:grid;position:relative}.service-item{isolation:isolate;background:var(--forest);min-width:0;min-height:520px;color:var(--cream);flex-direction:column;display:flex;position:relative;overflow:hidden}.service-item+.service-item{border-left:1px solid #f7f4ed29}.service-image{z-index:-2;opacity:0;background:var(--forest);width:100%;height:100%;transition:opacity .65s;position:absolute;inset:0;overflow:hidden}.service-image img{object-fit:cover;width:100%;height:100%;transition:transform 1.1s var(--ease-out);display:block;transform:scale(1.08)}.service-image:after{content:"";pointer-events:none;background:linear-gradient(#0a120d2e 0%,#0a120d4d 42%,#0a120dd1 100%);transition:background .6s;position:absolute;inset:0}.service-body{z-index:2;transition:transform .55s var(--ease-out);flex-direction:column;flex:1;padding:2.5rem;display:flex;position:relative}.service-number{color:#f7f4ed8c;letter-spacing:.12em;transition:color .45s ease, transform .55s var(--ease-out);font-size:.68rem;font-weight:600;display:block}.service-content{margin-top:auto}.service-content h3{font-family:var(--serif);letter-spacing:-.025em;color:var(--cream);transition:color .45s ease, transform .55s var(--ease-out);margin-bottom:1.5rem;font-size:clamp(2rem,2.5vw,2.8rem);font-weight:500;line-height:1.05}.service-content p{color:#f7f4edb3;max-width:310px;margin-bottom:0;font-size:.88rem;line-height:1.7;transition:color .45s}.service-item:hover .service-image{opacity:1}.service-item:hover .service-image img{transform:scale(1)}.service-item:hover .service-body{transform:translateY(-5px)}.service-item:hover .service-number{color:#f7f4edd1;transform:translateY(-2px)}.service-item:hover h3{transform:translateY(-3px)}.service-item:hover p{color:#f7f4ede6}.our-work{background:var(--cream);position:relative;overflow:hidden}.work-intro{background:var(--forest);color:var(--cream);padding:clamp(7rem,10vw,10rem) clamp(2rem,6vw,7rem) clamp(6rem,8vw,8rem);position:relative;overflow:hidden}.work-intro-inner{z-index:2;grid-template-columns:1.2fr .8fr;align-items:end;gap:clamp(3rem,8vw,8rem);width:min(1180px,100%);margin:0 auto;display:grid;position:relative}.work-watermark{z-index:-1;font-family:var(--serif);color:#f7f4ed09;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:clamp(9rem,18vw,18rem);font-weight:500;line-height:.8;position:absolute;top:-3rem;right:-2rem}.work-eyebrow{color:#f7f4ed94}.work-heading h2{max-width:650px;font-family:var(--serif);letter-spacing:-.04em;color:var(--cream);font-size:clamp(3.5rem,6.5vw,6.5rem);font-weight:500;line-height:.95}.work-intro-copy{color:#f7f4edb3;max-width:440px;padding-bottom:.5rem;font-size:.98rem;line-height:1.8}.work-showcase{background:var(--cream);padding:0 clamp(2rem,6vw,7rem) clamp(3rem,5vw,4.5rem);position:relative}.work-showcase-inner{width:min(1180px,100%);margin:0 auto;position:relative}.comparison-slider{--comparison-position:50%;z-index:5;aspect-ratio:16/8.5;background:var(--stone);cursor:ew-resize;-webkit-user-select:none;user-select:none;touch-action:pan-y;width:100%;margin-top:3rem;position:relative;overflow:hidden;box-shadow:0 25px 70px #14231b21,0 2px 8px #14231b14}.comparison-after{object-fit:cover;object-position:center;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.comparison-before{z-index:2;width:100%;height:100%;clip-path:inset(0 calc(100% - var(--comparison-position)) 0 0);pointer-events:none;position:absolute;inset:0;overflow:hidden}.comparison-before img{object-fit:cover;object-position:center;pointer-events:none;width:100%;height:100%;display:block}.comparison-label{z-index:5;color:var(--cream);-webkit-backdrop-filter:blur(8px);letter-spacing:.16em;text-transform:uppercase;pointer-events:none;background:#141e18ad;padding:.6rem .8rem;font-size:.62rem;font-weight:600;position:absolute;top:1.5rem}.comparison-label-before{left:1.5rem}.comparison-label-after{right:1.5rem}.comparison-divider{top:0;bottom:0;left:var(--comparison-position);z-index:6;pointer-events:none;background:#f7f4edf2;width:2px;position:absolute;transform:translate(-50%);box-shadow:0 0 12px #0000001f}.comparison-handle{background:var(--cream);width:58px;height:58px;color:var(--forest);font-family:var(--sans);border:1px solid #f7f4eda6;border-radius:50%;justify-content:center;align-items:center;gap:8px;font-size:1.3rem;font-weight:400;line-height:1;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 25px #0003,0 2px 5px #0000001f}.comparison-handle span{position:relative;top:-1px}.comparison-range{z-index:10;opacity:0;cursor:ew-resize;width:100%;height:100%;margin:0;position:absolute;inset:0}.work-project-info{grid-template-columns:1fr auto;grid-template-areas:"title services""title link";align-items:end;gap:1.5rem 4rem;padding-top:2.5rem;display:grid}.work-project-title{grid-area:title}.work-project-label{color:var(--sage);letter-spacing:.16em;text-transform:uppercase;margin-bottom:.75rem;font-size:.62rem;font-weight:600}.work-project-title h3{font-family:var(--serif);letter-spacing:-.025em;color:var(--forest);margin-bottom:.45rem;font-size:clamp(2rem,3vw,3rem);font-weight:500;line-height:1}.work-project-location{letter-spacing:.08em;text-transform:uppercase;color:#2b2b2b80;font-size:.78rem}.work-project-services{flex-wrap:wrap;grid-area:services;justify-content:flex-end;gap:.6rem 1.25rem;display:flex}.work-project-services span{color:#2b2b2b9e;letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:500;position:relative}.work-project-services span+span:before{content:"•";color:var(--sage);position:absolute;left:-.78rem}.work-link{color:var(--forest);letter-spacing:.12em;text-transform:uppercase;grid-area:link;justify-self:end;align-items:center;gap:.8rem;padding-bottom:.45rem;font-size:.68rem;font-weight:600;display:inline-flex;position:relative}.work-link:after{content:"";background:var(--forest);transform-origin:100%;width:100%;height:1px;transition:transform .45s var(--ease-out);position:absolute;bottom:0;left:0;transform:scaleX(0)}.work-link span{transition:transform .35s var(--ease-out);display:inline-block}.work-link:hover:after{transform-origin:0;transform:scaleX(1)}.work-link:hover span{transform:translate(5px)}.about{background:var(--forest);grid-template-columns:1.15fr .85fr;height:620px;display:grid;position:relative}.about-image{min-width:0;height:620px;position:relative;overflow:hidden}.about-image img{object-fit:cover;object-position:42% center;width:100%;height:100%;transition:transform 1.2s var(--ease-out);-webkit-user-drag:none;-webkit-user-select:none;user-select:none;display:block}.about-image:hover img{transform:scale(1.015)}.about-content{background:var(--forest);color:var(--cream);flex-direction:column;justify-content:center;padding:clamp(3.5rem,5vw,5rem) clamp(3rem,5vw,6rem);display:flex;position:relative;overflow:hidden}.about-watermark{z-index:1;opacity:.055;pointer-events:none;-webkit-user-select:none;user-select:none;width:clamp(300px,30vw,500px);height:auto;position:absolute;top:-35px;right:-55px;transform:rotate(-10deg)}.about-copy{z-index:2;position:relative}.about-eyebrow{color:#f7f4eda6;margin-bottom:1.5rem}.about-rule{background:#f7f4ed80;width:64px;height:1px;margin-bottom:2rem}.about-copy h2{max-width:650px;font-family:var(--serif);letter-spacing:-.04em;color:var(--cream);margin-bottom:2.5rem;font-size:clamp(3.3rem,5vw,5.6rem);font-weight:500;line-height:.98}.about-description{max-width:620px}.about-description p{color:#f7f4edbd;font-size:.95rem;line-height:1.75}.about-description p+p{margin-top:1.25rem}.about-values{z-index:2;grid-template-columns:repeat(3,1fr);margin-top:2.5rem;display:grid;position:relative}.about-value{text-align:center;flex-direction:column;justify-content:flex-end;align-items:center;gap:.8rem;min-height:90px;padding:0 1.25rem;display:flex}.about-value+.about-value{border-left:1px solid #f7f4ed33}.about-icon{fill:none;width:30px;height:30px;stroke:var(--cream);stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round}.about-value span{letter-spacing:.16em;text-transform:uppercase;color:#f7f4ede6;font-size:.62rem;font-weight:600;line-height:1.4}.contact{background:var(--cream);grid-template-columns:.92fr 1.08fr;min-height:760px;display:grid}.contact-intro{background:var(--cream);align-items:center;padding:clamp(5rem,8vw,8rem) clamp(3rem,7vw,7rem);display:flex}.contact-intro-inner{width:min(570px,100%);margin:0 auto}.contact-eyebrow{color:var(--sage)}.contact-rule{background:var(--forest);width:64px;height:1px;margin:1.5rem 0 2.5rem}.contact-intro h2{font-family:var(--serif);letter-spacing:-.04em;color:var(--forest);margin-bottom:2rem;font-size:clamp(3.5rem,5.2vw,5.7rem);font-weight:500;line-height:.98}.contact-lead{color:#2b2b2bb8;max-width:560px;font-size:1rem;line-height:1.8}.contact-details{margin-top:3rem}.contact-detail{border-bottom:1px solid #1f3a2e24;align-items:center;gap:1.5rem;padding:1.4rem 0;display:flex}.contact-detail:last-child{border-bottom:none}.contact-detail-icon{background:var(--stone);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:58px;height:58px;display:flex}.contact-detail-icon svg{fill:none;width:24px;height:24px;stroke:var(--forest);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.contact-detail-label{letter-spacing:.18em;text-transform:uppercase;color:var(--sage);margin-bottom:.3rem;font-size:.62rem;font-weight:600;display:block}.contact-detail-value{font-family:var(--serif);color:var(--charcoal);font-size:1.45rem;line-height:1.2;display:block}.contact-detail-sub{letter-spacing:.13em;text-transform:uppercase;color:#2b2b2b7a;margin-top:.25rem;font-size:.67rem;font-weight:500;display:block}.contact-form-side{background:linear-gradient(to right, var(--cream) 0%, #f7f4edbf 5%, #f7f4ed40 12%, transparent 22%), url(/images/contact-landscape.png);background-position:50%;background-repeat:no-repeat;background-size:cover;align-items:center;padding:clamp(4rem,6vw,6rem);display:flex}.contact-form-card{width:min(680px,100%);color:var(--cream);background:#1f3a2ef7;padding:clamp(3rem,5vw,4.5rem);position:relative;overflow:hidden;box-shadow:0 28px 80px #0e1b1538}.contact-watermark{opacity:.04;pointer-events:none;-webkit-user-select:none;user-select:none;width:370px;height:auto;position:absolute;top:-70px;right:-80px;transform:rotate(-10deg)}.contact-form-heading{z-index:2;position:relative}.contact-form-eyebrow{color:#f7f4ed99}.contact-form-rule{background:#f7f4ed80;width:64px;height:1px;margin:1.4rem 0 2rem}.contact-form-heading h3{font-family:var(--serif);letter-spacing:-.035em;color:var(--cream);margin-bottom:2.5rem;font-size:clamp(2.6rem,4vw,4rem);font-weight:500;line-height:1}.contact-form{z-index:2;position:relative}.contact-name-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.form-field{min-width:0;margin-bottom:1rem;position:relative}.form-field label{z-index:2;letter-spacing:.16em;text-transform:uppercase;color:#f7f4edb3;pointer-events:none;font-size:.6rem;font-weight:600;position:absolute;top:1rem;left:1.1rem}.form-field input,.form-field textarea{width:100%;color:var(--cream);font:inherit;background:0 0;border:1px solid #f7f4ed4d;border-radius:0;outline:none;transition:border-color .3s,background-color .3s}.form-field input{height:64px;padding:1.8rem 1.1rem .5rem}.form-field textarea{resize:vertical;min-height:140px;padding:2.4rem 1.1rem 1rem}.form-field input:focus,.form-field textarea:focus{background:#f7f4ed09;border-color:#f7f4edcc}.contact-submit{background:var(--cream);width:100%;min-height:60px;color:var(--forest);cursor:pointer;font-family:var(--sans);letter-spacing:.15em;text-transform:uppercase;transition:background-color .3s ease, transform .3s var(--ease-out);border:none;justify-content:center;align-items:center;gap:1.2rem;margin-top:.5rem;font-size:.68rem;font-weight:600;display:flex}.contact-submit:hover{background:var(--stone);transform:translateY(-2px)}.contact-submit span:last-child{transition:transform .3s var(--ease-out)}.contact-submit:hover span:last-child{transform:translate(5px)}.contact-response-note{text-align:center;color:#f7f4ed94;margin-top:1rem;font-size:.72rem}.site-footer{color:var(--cream);background:#172e25}.footer-inner{border-bottom:1px solid #f7f4ed1f;grid-template-columns:1.1fr 1.8fr 1.8fr 1.1fr;height:120px;display:grid}.footer-logo-column,.footer-column{flex-direction:column;justify-content:center;min-width:0;padding:1rem 3rem;display:flex}.footer-inner>*+*{border-left:1px solid #f7f4ed1f}.footer-logo-column{align-items:flex-start}.footer-logo{width:140px;max-width:100%;display:block}.footer-logo img{width:100%;height:auto;display:block}.footer-heading{letter-spacing:.18em;text-transform:uppercase;color:#f7f4ed6b;margin:0 0 .75rem;font-size:.52rem;font-weight:600}.footer-contact{flex-direction:column;gap:.45rem;display:flex}.footer-contact a,.footer-contact p{color:#f7f4edad;white-space:nowrap;margin:0;font-size:.7rem;line-height:1.5}.footer-contact a{transition:color .25s}.footer-contact a:hover{color:var(--cream)}.footer-social-column{align-items:flex-start}.footer-socials{gap:.65rem;display:flex}.footer-social-link{width:38px;height:38px;color:var(--cream);border:1px solid #f7f4ed2e;border-radius:50%;justify-content:center;align-items:center;transition:border-color .25s,background-color .25s;display:flex}.footer-social-link:hover{background:#f7f4ed0d;border-color:#f7f4ed80}.footer-social-link svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.footer-social-link[aria-label=Facebook] svg{fill:currentColor;stroke:none}.footer-bottom{justify-content:space-between;align-items:center;height:48px;padding:0 4rem;display:flex}.footer-bottom p{letter-spacing:.09em;text-transform:uppercase;color:#f7f4ed61;margin:0;font-size:.48rem;font-weight:500}.footer-credit{text-align:right}.footer-credit a{color:#f7f4edb8;transition:color .25s}.footer-credit a:hover{color:var(--cream)}@media (width<=900px){.footer-inner{grid-template-columns:1fr 1fr;height:auto}.footer-logo-column,.footer-column{min-height:120px;padding:1.5rem 2rem}.footer-inner>*+*{border-left:none}.footer-inner>:nth-child(2n){border-left:1px solid #f7f4ed1f}.footer-inner>:nth-child(n+3){border-top:1px solid #f7f4ed1f}.footer-logo{width:130px}.footer-bottom{padding:0 2rem}}@media (width<=600px){.footer-inner{grid-template-columns:1fr 1fr;height:auto}.footer-logo-column,.footer-column{min-height:105px;padding:1.25rem}.footer-logo-column{align-items:flex-start}.footer-logo{width:105px}.footer-heading{margin-bottom:.6rem;font-size:.46rem}.footer-contact{gap:.35rem}.footer-contact a,.footer-contact p{white-space:normal;overflow-wrap:anywhere;font-size:.58rem}.footer-social-link{width:32px;height:32px}.footer-social-link svg{width:12px;height:12px}.footer-bottom{gap:1rem;height:auto;min-height:52px;padding:.75rem 1.25rem}.footer-bottom p{font-size:.38rem;line-height:1.4}.footer-credit{text-align:right}}.reveal{opacity:0;transition:opacity .8s var(--ease-out), transform .8s var(--ease-out);transition-delay:var(--delay,0s);transform:translateY(32px)}.reveal.is-visible{opacity:1;transform:translateY(0)}@keyframes heroImageReveal{0%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes heroContentReveal{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes scrollIndicatorReveal{0%{opacity:0}to{opacity:1}}@keyframes scrollLineMove{0%{transform:translateY(0)}60%,to{transform:translateY(200%)}}.cta-mobile-text,.mobile-menu-toggle,.mobile-menu{display:none}@media (width<=900px){.site-header,.site-header.scrolled{grid-template-columns:1fr auto 76px}.main-nav{display:none}.logo{border-right:none;justify-content:flex-start}.header-cta{min-width:150px}.mobile-menu-toggle{z-index:1002;background:var(--cream);cursor:pointer;border:0;border-left:1px solid #1f3a2e24;flex-direction:column;justify-content:center;align-items:center;gap:7px;width:76px;height:100%;padding:0;display:flex;position:relative}.mobile-menu-toggle span{background:var(--forest);transform-origin:50%;width:24px;height:1.5px;transition:transform .4s var(--ease-out), background-color .3s ease;display:block}.mobile-menu-toggle.is-open span:first-child{transform:translateY(4.25px)rotate(45deg)}.mobile-menu-toggle.is-open span:last-child{transform:translateY(-4.25px)rotate(-45deg)}.mobile-menu{z-index:999;background:var(--forest);color:var(--cream);opacity:0;visibility:hidden;transition:opacity .45s ease, visibility .45s ease, transform .55s var(--ease-out);display:block;position:fixed;inset:0;overflow:hidden;transform:translateY(-18px)}.mobile-menu.is-open{opacity:1;visibility:visible;transform:translateY(0)}.mobile-menu-watermark{font-family:var(--serif);color:#f7f4ed09;white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:clamp(7rem,20vw,13rem);font-weight:500;line-height:.8;position:absolute;top:7rem;right:-3rem}.mobile-menu-inner{z-index:2;flex-direction:column;min-height:100dvh;padding:calc(104px + 4rem) clamp(2rem,7vw,5rem) 3rem;display:flex;position:relative}.mobile-menu-eyebrow{letter-spacing:.2em;text-transform:uppercase;color:#f7f4ed8c;margin-bottom:2.5rem;font-size:.65rem;font-weight:600}.mobile-nav{border-top:1px solid #f7f4ed29}.mobile-nav a{color:var(--cream);opacity:0;transition:opacity .45s ease, transform .55s var(--ease-out), color .3s ease;border-bottom:1px solid #f7f4ed29;grid-template-columns:42px 1fr auto;align-items:center;gap:1rem;padding:1.3rem 0;display:grid;transform:translateY(18px)}.mobile-menu.is-open .mobile-nav a{opacity:1;transform:translateY(0)}.mobile-menu.is-open .mobile-nav a:first-child{transition-delay:80ms}.mobile-menu.is-open .mobile-nav a:nth-child(2){transition-delay:.12s}.mobile-menu.is-open .mobile-nav a:nth-child(3){transition-delay:.16s}.mobile-menu.is-open .mobile-nav a:nth-child(4){transition-delay:.2s}.mobile-menu.is-open .mobile-nav a:nth-child(5){transition-delay:.24s}.mobile-nav-number{letter-spacing:.12em;color:var(--sage);font-size:.62rem;font-weight:600}.mobile-nav-label{font-family:var(--serif);letter-spacing:-.025em;font-size:clamp(2rem,5vw,3rem);font-weight:500;line-height:1}.mobile-nav-arrow{color:#f7f4ed8c;transition:transform .3s var(--ease-out);font-size:1.15rem}.mobile-nav a:hover .mobile-nav-arrow{transform:translate(5px)}.mobile-menu-footer{margin-top:auto;padding-top:2rem}.mobile-menu-footer p{color:#f7f4ed8c;margin-bottom:1rem;font-size:.78rem;line-height:1.6}.mobile-menu-quote{background:var(--cream);min-height:58px;color:var(--forest);letter-spacing:.13em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:0 1.25rem;font-size:.66rem;font-weight:600;display:flex}.mobile-menu-quote span{transition:transform .3s var(--ease-out);font-size:1rem}.mobile-menu-quote:hover span{transform:translate(5px)}body.menu-open{overflow:hidden}.services-grid{background:0 0;border:none;grid-template-columns:1fr}.service-item{background:var(--forest);min-height:0;color:var(--cream);border:none}.service-item+.service-item{border:none}.service-image{z-index:1;opacity:1;background:var(--stone);flex-shrink:0;width:100%;height:clamp(260px,52vw,430px);position:relative;inset:auto}.service-image img{transform:none}.service-image:after{background:linear-gradient(#0000 65%,#0a120d1f 100%)}.service-body{background:var(--forest);min-height:330px;color:var(--cream);padding:2.5rem;transform:none}.service-number{color:#f7f4ed8c;margin-bottom:3rem}.service-content h3{color:var(--cream)}.service-content p{color:#f7f4edb8}.service-item:hover .service-body,.service-item:hover .service-number,.service-item:hover h3{transform:none}.service-item:hover .service-number{color:#f7f4ed8c}.service-item:hover p{color:#f7f4edb8}.work-intro{padding-bottom:8rem}.work-intro-inner{grid-template-columns:1fr;gap:2rem}.work-intro-copy{max-width:580px}.comparison-slider{aspect-ratio:16/10}.work-project-info{grid-template-columns:1fr;grid-template-areas:"title""services""link";gap:1.5rem}.work-project-services{justify-content:flex-start}.work-link{justify-self:start}.about{grid-template-columns:1fr;height:auto}.about-image{width:100%;height:480px}.about-image img{object-position:42% 38%}.about-content{padding:4.5rem 3rem}.about-copy h2{max-width:650px;font-size:clamp(3.5rem,8vw,5rem)}.about-description{max-width:620px}.about-watermark{width:500px;top:-35px;right:-8rem;transform:rotate(-10deg)}.contact{grid-template-columns:1fr;min-height:0}.contact-intro{padding:6rem 3rem}.contact-intro-inner{width:min(650px,100%);margin:0 auto}.contact-form-side{min-height:760px;padding:4rem 3rem}.contact-form-card{margin:0 auto}.footer-inner{grid-template-columns:repeat(2,1fr)}.footer-column,.footer-logo-column{min-height:160px;padding:2rem 2.5rem}.footer-logo-column,.footer-inner>.footer-column:not(:first-child){border-left:none}.footer-inner>:nth-child(2n){border-left:1px solid #f7f4ed1f}.footer-inner>:nth-child(n+3){border-top:1px solid #f7f4ed1f}.footer-logo{max-width:145px}}@media (width<=600px){.site-header,.site-header.scrolled{grid-template-columns:64px 1fr auto;align-items:stretch;height:78px;display:grid;position:sticky}.mobile-menu-toggle{border-left:none;border-right:1px solid #1f3a2e24;grid-area:1/1;width:64px;height:100%}.logo{border:none;grid-area:1/2;justify-content:flex-start;align-items:center;min-width:0;padding:0 0 0 1rem;display:flex;position:static;transform:none}.logo img,.site-header.scrolled .logo img{object-fit:contain;width:135px;height:58px}.logo:hover img{transform:none}.header-cta{border-left:1px solid #1f3a2e24;grid-area:1/3;min-width:0;padding:0 1.15rem}.cta-desktop-text{display:none}.cta-mobile-text{display:inline}.cta-text{letter-spacing:.07em;font-size:.6rem}.mobile-menu-inner{padding:calc(78px + 2.5rem) 1.5rem 2rem}.hero{min-height:calc(100vh - 78px);padding:4rem 1.5rem}.hero:before{background-position:60%}.hero h1{font-size:clamp(3rem,14vw,4.5rem)}.hero-actions{flex-direction:column;align-items:flex-start}.scroll-indicator{bottom:1rem}.services-intro{padding:6rem 1.5rem 4rem}.services-heading{margin-bottom:3.5rem}.services-watermark{font-size:clamp(6rem,28vw,9rem);top:4rem;right:-2rem}.services-grid{background:0 0;border:none;grid-template-columns:1fr}.service-item{min-height:0;color:var(--cream);background:0 0;border:none}.service-item+.service-item{border:none}.service-image{z-index:1;opacity:1;background:var(--stone);border:none;border-bottom:1px solid #f7f4ed29;flex-shrink:0;width:100%;height:210px;position:relative;inset:auto}.service-image img{object-fit:cover;width:100%;height:100%;display:block;transform:none}.service-image:after{background:linear-gradient(#0000 72%,#0a120d1a 100%)}.service-body{background:var(--forest);min-height:0;color:var(--cream);border:none;padding:2rem 2rem 2.25rem;transform:none}.service-number{color:#f7f4ed8c;margin-bottom:2.25rem}.service-content{margin-top:0}.service-content h3{color:var(--cream);margin-bottom:1.25rem;font-size:clamp(2rem,10vw,2.65rem)}.service-content p{color:#f7f4edb8;max-width:none;margin-bottom:0;font-size:.9rem;line-height:1.65}.service-item:nth-child(2) .service-body{background:var(--cream);color:var(--forest)}.service-item:nth-child(2) .service-number{color:var(--sage)}.service-item:nth-child(2) .service-content h3{color:var(--forest)}.service-item:nth-child(2) .service-content p{color:#2b2b2bb3}.service-item:first-child .service-image,.service-item:nth-child(3) .service-image{border-bottom-color:#f7f4ed29}.service-item:nth-child(2) .service-image{border-bottom-color:#1f3a2e2e}.service-item:hover .service-body,.service-item:hover .service-number,.service-item:hover h3{transform:none}.service-item:first-child:hover .service-number,.service-item:nth-child(3):hover .service-number{color:#f7f4ed8c}.service-item:first-child:hover p,.service-item:nth-child(3):hover p{color:#f7f4edb8}.service-item:nth-child(2):hover .service-number{color:var(--sage)}.service-item:nth-child(2):hover h3{color:var(--forest)}.service-item:nth-child(2):hover p{color:#2b2b2bb3}.work-intro{padding:6rem 1.5rem}.work-intro-inner{grid-template-columns:1fr;gap:2rem}.work-watermark{font-size:9rem;top:-1rem;right:-2rem}.work-heading h2{font-size:clamp(3.2rem,15vw,4.6rem)}.work-intro-copy{max-width:none;padding-bottom:0;font-size:.92rem;line-height:1.7}.work-showcase{padding:0 1.5rem 3.5rem}.comparison-slider{aspect-ratio:4/3;margin-top:2rem;box-shadow:0 18px 45px #14231b1f,0 2px 6px #14231b14}.comparison-label{padding:.5rem .65rem;font-size:.55rem;top:1rem}.comparison-label-before{left:1rem}.comparison-label-after{right:1rem}.comparison-handle{gap:6px;width:50px;height:50px;font-size:1.15rem}.work-project-info{grid-template-columns:1fr;grid-template-areas:"title""services""link";gap:1.5rem;padding-top:2rem}.work-project-title h3{font-size:2.2rem}.work-project-services{justify-content:flex-start;gap:.55rem 1.1rem}.work-project-services span{font-size:.64rem}.work-link{justify-self:start;margin-top:.5rem}.about{grid-template-columns:1fr;height:auto;min-height:0}.about-image{width:100%;height:260px;min-height:0;overflow:hidden}.about-image img{object-fit:cover;object-position:42% 38%;width:100%;height:100%}.about-image:hover img{transform:none}.about-content{background:var(--forest);padding:2.75rem 1.5rem 2.25rem;position:relative}.about-watermark{opacity:.04;width:310px;height:auto;top:-25px;right:-85px;transform:rotate(-12deg)}.about-eyebrow{margin-bottom:.9rem}.about-rule{width:54px;margin-bottom:1.35rem}.about-copy h2{max-width:100%;margin-bottom:1.4rem;font-size:clamp(2.75rem,11vw,3.55rem);line-height:.96}.about-description{max-width:none}.about-description p{font-size:.87rem;line-height:1.62}.about-description p+p{margin-top:.85rem}.about-values{grid-template-columns:1fr;margin-top:1.6rem}.about-value{text-align:left;flex-direction:row;justify-content:flex-start;align-items:center;gap:1rem;min-height:0;padding:.85rem 0}.about-value+.about-value{border-top:1px solid #f7f4ed29;border-left:none}.about-icon{flex-shrink:0;width:23px;height:23px}.about-value span{text-align:left;font-size:.58rem}.contact{min-height:0;display:block}.contact-intro{padding:5rem 1.5rem 4rem}.contact-intro-inner{width:100%;margin:0}.contact-rule{margin:1.2rem 0 2rem}.contact-intro h2{margin-bottom:1.75rem;font-size:clamp(3rem,13vw,4rem)}.contact-lead{font-size:.92rem;line-height:1.7}.contact-details{margin-top:2.5rem}.contact-detail{gap:1.1rem;padding:1.25rem 0}.contact-detail-icon{width:50px;height:50px}.contact-detail-icon svg{width:21px;height:21px}.contact-detail-value{overflow-wrap:anywhere;font-size:1.25rem}.contact-form-side{background-image:none;background-color:var(--forest);min-height:0;padding:0}.contact-form-card{width:100%;box-shadow:none;padding:4rem 1.5rem}.contact-watermark{width:330px;top:-40px;right:-110px}.contact-form-heading h3{margin-bottom:2rem;font-size:2.8rem}.contact-name-row{grid-template-columns:1fr;gap:0}.form-field input{height:62px}.form-field textarea{min-height:150px}.contact-submit{min-height:58px;margin-top:.75rem}.footer-inner{grid-template-columns:1fr 1fr}.footer-column,.footer-logo-column{min-height:125px;padding:1.5rem 1.25rem}.footer-inner>*{border-top:none!important;border-left:none!important}.footer-inner>:nth-child(2){border-left:1px solid #f7f4ed1f!important}.footer-inner>:nth-child(3),.footer-inner>:nth-child(4){border-top:1px solid #f7f4ed1f!important}.footer-inner>:nth-child(4){border-left:1px solid #f7f4ed1f!important}.footer-heading{margin-bottom:.65rem;font-size:.48rem}.footer-contact{gap:.4rem}.footer-contact a,.footer-contact p{overflow-wrap:anywhere;font-size:.62rem;line-height:1.45}.footer-logo-column{justify-content:center;align-items:center}.footer-logo{max-width:115px}.footer-social-link{width:32px;height:32px}.footer-social-link svg{width:12px;height:12px}.footer-bottom{grid-template-columns:1fr auto;align-items:center;gap:1rem;min-height:54px;padding:.75rem 1.25rem;display:grid}.footer-bottom p{font-size:.4rem;line-height:1.4}.footer-credit{text-align:right}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.footer-contact span{color:inherit;font:inherit}.contact-demo-status{color:var(--cream);text-align:center;background:#f7f4ed14;border:1px solid #f7f4ed40;margin-top:1.25rem;padding:1rem 1.25rem;font-size:.85rem;line-height:1.7}.contact-demo-status[hidden]{display:none}.contact-submit:disabled{opacity:.65;cursor:wait}.contact-form .form-field input,.contact-form .form-field textarea{background:var(--cream);color:var(--forest);border:1px solid #f7f4ed99;border-radius:0}.contact-form .form-field input::placeholder,.contact-form .form-field textarea::placeholder{color:#1f3a2e8c}.contact-form .form-field input:focus,.contact-form .form-field textarea:focus{border-color:var(--sage);outline:2px solid var(--sage);outline-offset:2px;background:#fff}.contact-form .form-field label{color:var(--forest)}@media (width<=768px){.footer-column,.footer-contact{min-width:0}.footer-contact a,.footer-contact span{overflow-wrap:anywhere;word-break:normal;color:#a9b3ad;letter-spacing:normal;overflow-wrap:anywhere;word-break:normal;font-size:.875rem;font-weight:400;line-height:1.6}.footer-inner{grid-template-columns:1fr;display:grid}.footer-logo-column,.footer-column{border-right:none;width:100%;min-width:0}.footer-logo-column{justify-content:center;align-items:center;padding:2.5rem 1.5rem;display:flex}.footer-column{border-top:1px solid #ffffff1f;padding:1.75rem 2rem}.footer-contact{flex-direction:column;align-items:flex-start;gap:.5rem;min-width:0;display:flex}.footer-contact a,.footer-contact span,.footer-contact p{color:#a9b3ad;letter-spacing:normal;overflow-wrap:anywhere;font-size:.875rem;font-weight:400;line-height:1.6}.footer-social-column{padding-bottom:2.5rem}.footer-bottom{text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem;display:flex}.footer-logo-column{justify-content:center;align-items:center;min-height:0;padding:2rem 1.5rem .75rem;display:flex}.footer-logo{width:220px;max-width:100%;display:block}.footer-logo img{object-fit:contain;width:100%;height:auto;display:block}}
