.hero{position:relative;min-height:100vh;display:flex;align-items:center;padding:var(--space-24) 0 var(--space-20);overflow:hidden;background-color:var(--color-cream)}.hero__bg{position:absolute;inset:0;z-index:0}.hero__gradient{position:absolute;inset:0;background:radial-gradient(ellipse 120% 80% at 80% 20%,rgba(45,74,62,.06) 0,transparent 50%),radial-gradient(ellipse 80% 60% at 20% 80%,rgba(212,184,150,.08) 0,transparent 50%),linear-gradient(180deg,var(--color-cream) 0,var(--color-cream-dark) 100%)}.hero__noise{position:absolute;inset:0;opacity:.3;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%' height='100%' filter='url(%23noise)'/%3E%3C/svg%3E");mix-blend-mode:overlay}.hero__circles{position:absolute;inset:0;pointer-events:none}.hero__circle{position:absolute;border-radius:50%;border:1px solid var(--color-sage);opacity:.06}.hero__circle--1{width:600px;height:600px;right:-200px;top:-100px;animation:float 20s ease-in-out infinite}.hero__circle--2{width:400px;height:400px;right:10%;bottom:20%;animation:float 15s ease-in-out infinite reverse}.hero__circle--3{width:200px;height:200px;left:10%;bottom:30%;animation:float 12s ease-in-out infinite}@keyframes float{0%,to{transform:translate(0) scale(1)}50%{transform:translate(20px,-20px) scale(1.02)}}.hero__content{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1.4fr;grid-gap:var(--space-12);gap:var(--space-12);align-items:center;max-width:var(--max-width-wide);margin:0 auto;padding:0 var(--space-8)}.hero__text-column{max-width:560px}.hero__badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:rgba(45,74,62,.08);border-radius:var(--radius-full);font-family:var(--font-body);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--color-sage);margin-bottom:var(--space-6);animation:fadeInUp .8s ease-out}.hero__badge-dot{width:6px;height:6px;background:var(--color-sage);border-radius:50%;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hero__headline{font-family:var(--font-headline);font-size:clamp(2.5rem,5vw + 1rem,4.5rem);line-height:1;color:var(--color-charcoal);margin-bottom:var(--space-4);letter-spacing:-.02em}.hero__headline-line{display:block;animation:fadeInUp .8s ease-out;animation-fill-mode:both}.hero__headline-line:first-child{animation-delay:.1s}.hero__headline-line--accent{color:var(--color-sage);animation-delay:.2s}.hero__tagline{font-family:var(--font-accent);font-size:var(--text-sm);text-transform:lowercase;letter-spacing:.15em;color:var(--color-tan-text);margin-bottom:var(--space-6);animation:fadeInUp .8s ease-out .3s both}.hero__description{font-family:var(--font-body);font-size:var(--text-base);line-height:1.7;color:var(--color-charcoal-muted);margin-bottom:var(--space-8);max-width:48ch;animation:fadeInUp .8s ease-out .4s both}.hero__ctas{display:flex;flex-wrap:wrap;gap:var(--space-4);animation:fadeInUp .8s ease-out .5s both}.hero__btn{display:inline-flex;align-items:center;gap:var(--space-3);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;text-decoration:none;padding:var(--space-4) var(--space-6);border-radius:var(--radius-md);transition:all .4s cubic-bezier(.4,0,.2,1);cursor:pointer}.hero__btn--primary{background:var(--color-sage);color:var(--color-cream);border:2px solid var(--color-sage);box-shadow:0 4px 14px rgba(45,74,62,.25)}.hero__btn--primary:hover{background:var(--color-sage-dark);border-color:var(--color-sage-dark);transform:translateY(-3px);box-shadow:0 8px 25px rgba(45,74,62,.35)}.hero__btn-arrow{transition:transform .4s cubic-bezier(.4,0,.2,1)}.hero__btn--primary:hover .hero__btn-arrow{transform:translateX(6px)}.hero__btn--secondary{background:transparent;color:var(--color-sage);border:2px solid var(--color-border-medium);padding:var(--space-4) var(--space-6)}.hero__btn--secondary:hover{border-color:var(--color-sage);background:rgba(45,74,62,.05)}.hero__visual-column{display:flex;flex-direction:column;align-items:center;gap:var(--space-6);animation:fadeInUp 1s ease-out .3s both}.hero__media-frame{position:relative;max-width:100%;padding:var(--space-8)}.hero__frame-corner{position:absolute;width:60px;height:60px;color:var(--color-tan);z-index:5;opacity:0;animation:cornerFadeIn .8s ease-out forwards}.hero__frame-corner svg{width:100%;height:100%}.hero__frame-corner--tl{top:0;left:0;animation-delay:.6s}.hero__frame-corner--tr{top:0;right:0;animation-delay:.7s}.hero__frame-corner--bl{bottom:0;left:0;animation-delay:.8s}.hero__frame-corner--br{bottom:0;right:0;animation-delay:.9s}@keyframes cornerFadeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.hero__brush-accent{position:absolute;z-index:1;pointer-events:none;opacity:0;animation:brushStroke 1.2s ease-out forwards}.hero__brush-accent--1{top:-15px;right:20%;width:120px;height:8px;background:linear-gradient(90deg,transparent 0,var(--color-tan) 20%,var(--color-tan) 80%,transparent 100%);border-radius:4px;transform:rotate(-2deg);animation-delay:1s}.hero__brush-accent--2{bottom:-12px;left:15%;width:100px;height:6px;background:linear-gradient(90deg,transparent 0,var(--color-sage) 30%,var(--color-sage) 70%,transparent 100%);border-radius:3px;transform:rotate(1deg);animation-delay:1.1s;opacity:.6}@keyframes brushStroke{0%{opacity:0;transform:scaleX(0) rotate(-2deg)}to{opacity:.7;transform:scaleX(1) rotate(-2deg)}}.hero__brush-accent--2{animation-name:brushStroke2}@keyframes brushStroke2{0%{opacity:0;transform:scaleX(0) rotate(1deg)}to{opacity:.5;transform:scaleX(1) rotate(1deg)}}.hero__video-wrapper{position:relative;max-width:860px;width:100%;border-radius:var(--radius-xl);overflow:hidden;box-shadow:0 4px 6px rgba(26,26,26,.05),0 10px 20px rgba(26,26,26,.1),0 30px 60px rgba(26,26,26,.15),inset 0 0 0 1px rgba(255,255,255,.1)}.hero__video{position:relative;z-index:2;width:100%;height:auto;display:block;background:var(--color-charcoal)}.hero__video-controls{position:absolute;bottom:0;left:0;right:0;z-index:10;pointer-events:none}.hero__video-controls .video-ctrl{pointer-events:auto}.hero__video-shimmer{position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.03) 45%,rgba(255,255,255,.05) 50%,rgba(255,255,255,.03) 55%,transparent 60%);background-size:200% 100%;animation:shimmer 8s ease-in-out infinite}@keyframes shimmer{0%,to{background-position:200% 0}50%{background-position:-200% 0}}.video-ctrl{position:absolute;bottom:var(--space-5);z-index:10;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4) var(--space-2) var(--space-3);background:rgba(26,26,26,.75);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-full);color:var(--color-cream);cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);font-family:var(--font-body);overflow:hidden}.video-ctrl--play{left:var(--space-5)}.video-ctrl--mute{right:var(--space-5)}.video-ctrl__ring{position:absolute;inset:-2px;border-radius:inherit;border:2px solid var(--color-tan);opacity:0;transform:scale(1.1);transition:all .4s ease}.video-ctrl:hover{background:rgba(45,74,62,.9);border-color:var(--color-tan);transform:translateY(-2px);box-shadow:0 8px 20px rgba(26,26,26,.3)}.video-ctrl:hover .video-ctrl__ring{opacity:1;transform:scale(1)}.video-ctrl:focus{outline:none}.video-ctrl:focus-visible{outline:2px solid var(--color-tan);outline-offset:3px}.video-ctrl__icon{display:block;flex-shrink:0;transition:transform .3s ease}.video-ctrl:hover .video-ctrl__icon{transform:scale(1.1)}.video-ctrl--mute[data-muted=false] .video-ctrl__icon--unmuted,.video-ctrl--mute[data-muted=true] .video-ctrl__icon--muted,.video-ctrl--play[data-playing=false] .video-ctrl__icon--play,.video-ctrl--play[data-playing=true] .video-ctrl__icon--pause{display:block}.video-ctrl__label{font-size:var(--text-xs);font-weight:500;text-transform:uppercase;letter-spacing:.08em;opacity:.9}.video-ctrl[hidden]{display:none}.hero__quality-badge{position:absolute;bottom:-12px;left:50%;transform:translateX(-50%);z-index:10;animation:badgeFadeIn .8s ease-out 1.2s both}.hero__quality-badge-inner{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);background:var(--color-sage);color:var(--color-cream);border-radius:var(--radius-full);font-family:var(--font-accent);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.15em;box-shadow:0 4px 12px rgba(45,74,62,.3),0 0 0 3px var(--color-cream),0 0 0 5px var(--color-tan);white-space:nowrap}.hero__quality-badge-inner svg{color:var(--color-tan);animation:starPulse 2s ease-in-out infinite}@keyframes badgeFadeIn{0%{opacity:0;transform:translateX(-50%) translateY(10px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@keyframes starPulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.hero__image{position:relative;z-index:2;max-width:100%;height:auto;border-radius:var(--radius-xl);box-shadow:0 4px 6px rgba(26,26,26,.05),0 10px 20px rgba(26,26,26,.1),0 30px 60px rgba(26,26,26,.15);transition:transform .6s cubic-bezier(.4,0,.2,1)}.hero__media-frame:hover .hero__image{transform:scale(1.02) translateY(-5px)}@media (max-width:1024px){.hero__content{gap:var(--space-10)}}@media (max-width:900px){.hero{min-height:auto;padding:var(--space-20) 0 var(--space-16)}.hero__content{grid-template-columns:1fr;gap:var(--space-10);max-width:600px;text-align:center}.hero__text-column{max-width:none;order:1}.hero__visual-column{order:0}.hero__headline{font-size:clamp(2rem,6vw,3rem)}.hero__description{max-width:none;margin-left:auto;margin-right:auto}.hero__ctas{justify-content:center}.hero__media-frame{padding:var(--space-6)}.hero__frame-corner{width:45px;height:45px}.hero__brush-accent--1,.hero__brush-accent--2{display:none}.hero__quality-badge{position:relative;bottom:auto;left:auto;transform:none;margin-top:var(--space-4)}}@media (max-width:480px){.hero__ctas{flex-direction:column}.hero__btn{width:100%;justify-content:center}.hero__frame-corner{width:36px;height:36px}.hero__media-frame{padding:var(--space-4)}.video-ctrl{bottom:var(--space-3);padding:var(--space-2) var(--space-3)}.video-ctrl--play{left:var(--space-3)}.video-ctrl--mute{right:var(--space-3)}.video-ctrl__label{display:none}}.testimonials{position:relative;padding:var(--space-24) 0;background-color:var(--color-cream);overflow:hidden}.testimonials__bg{position:absolute;inset:0;z-index:0;pointer-events:none}.testimonials__pattern{width:100%;height:100%;color:var(--color-sage)}.testimonials__header{position:relative;z-index:2;text-align:center;margin-bottom:var(--space-16)}.testimonials__eyebrow{display:block;font-family:var(--font-accent);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.2em;color:var(--color-tan-text);margin-bottom:var(--space-3)}.testimonials__title{font-family:var(--font-headline);font-size:clamp(var(--text-3xl),4vw,var(--text-5xl));color:var(--color-charcoal);letter-spacing:-.01em}.testimonial-carousel{position:relative;z-index:2;max-width:900px;margin:0 auto;padding:var(--space-8) 0}.testimonial-carousel__content{display:flex;align-items:center;gap:var(--space-6)}.testimonial-carousel__nav{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--color-cream-light);border:1px solid var(--color-border-light);border-radius:50%;color:var(--color-sage);cursor:pointer;transition:all .3s ease}.testimonial-carousel__nav:hover{background:var(--color-sage);color:var(--color-cream);border-color:var(--color-sage);transform:scale(1.05)}.testimonial-carousel__nav:focus-visible{outline:2px solid var(--color-sage);outline-offset:2px}.testimonial-carousel__slide{flex:1 1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-8)}.testimonial-carousel__antler{display:none}.testimonial-carousel__quote{font-family:var(--font-accent);font-size:clamp(var(--text-lg),2.5vw,var(--text-xl));font-style:italic;line-height:1.8;color:var(--color-charcoal);margin:0 0 var(--space-8);max-width:700px}.testimonial-carousel__quote p{margin:0}.testimonial-carousel__read-more{background:none;border:none;color:var(--color-sage);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;text-decoration:underline;cursor:pointer;margin-top:var(--space-2);transition:color .2s ease}.testimonial-carousel__read-more:hover{color:var(--color-tan)}.testimonial-carousel__attribution{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);font-style:normal}.testimonial-carousel__name{font-family:var(--font-headline);font-size:var(--text-lg);color:var(--color-sage)}.testimonial-carousel__company{font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-tan-text)}.testimonial-carousel__location{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-charcoal-muted)}.testimonial-carousel__dots{display:flex;justify-content:center;gap:var(--space-2);margin-top:var(--space-8)}.testimonial-carousel__dot{width:10px;height:10px;border-radius:50%;border:1px solid var(--color-tan);background:transparent;cursor:pointer;padding:0;transition:all .3s ease}.testimonial-carousel__dot:hover{background:var(--color-tan-light)}.testimonial-carousel__dot.is-active{background:var(--color-tan);transform:scale(1.2)}@media (max-width:768px){.testimonial-carousel__nav{width:40px;height:40px}.testimonial-carousel__nav svg{width:20px;height:20px}.testimonial-carousel__slide{padding:var(--space-4)}.testimonial-carousel__quote{font-size:var(--text-base)}}@media (max-width:480px){.testimonial-carousel__content{gap:var(--space-2)}.testimonial-carousel__nav{width:36px;height:36px}}.video-testimonial{position:relative;padding:var(--space-24) 0;background-color:var(--color-sage);overflow:hidden}.video-testimonial__bg{position:absolute;inset:0;z-index:0}.video-testimonial__gradient{position:absolute;inset:0;background:radial-gradient(ellipse 80% 50% at 50% 0,rgba(255,255,255,.05) 0,transparent 50%),radial-gradient(ellipse 80% 50% at 50% 100%,rgba(0,0,0,.15) 0,transparent 50%)}.video-testimonial__header{position:relative;z-index:2;text-align:center;margin-bottom:var(--space-16)}.video-testimonial__eyebrow{display:block;font-family:var(--font-accent);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.2em;color:var(--color-tan);margin-bottom:var(--space-3)}.video-testimonial__title{font-family:var(--font-headline);font-size:clamp(var(--text-3xl),4vw,var(--text-5xl));color:var(--color-cream);letter-spacing:-.01em}.video-testimonial__inner{position:relative;z-index:2;max-width:1100px;margin:0 auto}.video-testimonial__frame{position:relative;padding:var(--space-8)}.video-testimonial__corner{position:absolute;width:60px;height:60px;color:var(--color-tan);z-index:5}.video-testimonial__corner svg{width:100%;height:100%}.video-testimonial__corner--tl{top:0;left:0}.video-testimonial__corner--tr{top:0;right:0}.video-testimonial__corner--bl{bottom:0;left:0}.video-testimonial__corner--br{bottom:0;right:0}.video-testimonial__video-wrapper{position:relative;width:100%;border-radius:var(--radius-xl);overflow:hidden;box-shadow:0 4px 6px rgba(0,0,0,.1),0 10px 20px rgba(0,0,0,.15),0 30px 60px rgba(0,0,0,.2),inset 0 0 0 1px rgba(255,255,255,.08)}.video-testimonial__video{position:relative;z-index:2;width:100%;height:auto;display:block;background:var(--color-charcoal)}.video-testimonial__shimmer{position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.03) 45%,rgba(255,255,255,.05) 50%,rgba(255,255,255,.03) 55%,transparent 60%);background-size:200% 100%;animation:shimmer 8s ease-in-out infinite}.video-testimonial__play-btn{position:absolute;inset:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);background:rgba(26,26,26,.4);border:none;color:var(--color-cream);cursor:pointer;transition:background .4s ease}.video-testimonial__play-btn:hover{background:rgba(26,26,26,.55)}.video-testimonial__play-btn:focus{outline:none}.video-testimonial__play-btn:focus-visible{outline:2px solid var(--color-tan);outline-offset:-4px}.video-testimonial__play-ring{width:88px;height:88px;border-radius:50%;background:rgba(45,74,62,.85);border:2px solid rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 24px rgba(0,0,0,.3);transition:all .4s cubic-bezier(.4,0,.2,1)}.video-testimonial__play-btn:hover .video-testimonial__play-ring{background:rgba(45,74,62,.95);border-color:var(--color-tan);transform:scale(1.08);box-shadow:0 8px 32px rgba(0,0,0,.4)}.video-testimonial__play-icon{margin-left:4px;transition:transform .3s ease}.video-testimonial__play-btn:hover .video-testimonial__play-icon{transform:scale(1.1)}.video-testimonial__play-label{font-family:var(--font-body);font-size:var(--text-xs);font-weight:500;text-transform:uppercase;letter-spacing:.15em;opacity:.9;text-shadow:0 1px 4px rgba(0,0,0,.4)}.video-testimonial__play-btn[hidden]{display:none}.video-testimonial__quote{text-align:center;margin:var(--space-12) auto 0;max-width:800px;padding:0;border:none}.video-testimonial__quote p{font-family:var(--font-accent);font-size:clamp(var(--text-lg),2.5vw,var(--text-2xl));font-style:italic;line-height:1.8;color:var(--color-cream);margin:0 0 var(--space-4)}.video-testimonial__attribution{display:block;font-family:var(--font-body);font-size:var(--text-sm);font-style:normal;font-weight:500;text-transform:uppercase;letter-spacing:.15em;color:var(--color-tan)}@media (max-width:900px){.video-testimonial__frame{padding:var(--space-6)}.video-testimonial__corner{width:45px;height:45px}}@media (max-width:480px){.video-testimonial__frame{padding:var(--space-4)}.video-testimonial__corner{width:36px;height:36px}.video-testimonial__mute-btn{bottom:var(--space-3);right:var(--space-3);padding:var(--space-2) var(--space-3)}.video-testimonial__mute-label{display:none}}.services{position:relative;padding:var(--space-24) 0;background-color:var(--color-cream-dark);overflow:hidden}.services__bg{position:absolute;inset:0;z-index:0}.services__gradient{position:absolute;inset:0;background:radial-gradient(ellipse 80% 50% at 50% 0,rgba(45,74,62,.04) 0,transparent 60%),radial-gradient(ellipse 80% 50% at 50% 100%,rgba(212,184,150,.06) 0,transparent 60%)}.services__header{position:relative;z-index:2;text-align:center;margin-bottom:var(--space-16)}.services__eyebrow{display:block;font-family:var(--font-accent);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.2em;color:var(--color-tan-text);margin-bottom:var(--space-3)}.services__title{font-family:var(--font-headline);font-size:clamp(var(--text-3xl),4vw,var(--text-5xl));color:var(--color-charcoal);letter-spacing:-.01em}.services__grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--space-6);gap:var(--space-6)}.service-card{background:var(--color-cream-light);padding:var(--space-8);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);text-decoration:none;transition:all .4s cubic-bezier(.4,0,.2,1);animation:fadeInUp .8s ease-out var(--delay,0s) both;display:flex;flex-direction:column}.service-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(26,26,26,.12);border-color:var(--color-sage)}.service-card__icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:rgba(45,74,62,.08);border-radius:var(--radius-md);color:var(--color-sage);margin-bottom:var(--space-6);transition:all .4s ease}.service-card:hover .service-card__icon{background:var(--color-sage);color:var(--color-cream);transform:scale(1.05)}.service-card__title{font-family:var(--font-headline);font-size:var(--text-xl);color:var(--color-charcoal);margin-bottom:var(--space-3)}.service-card__description{color:var(--color-charcoal-muted);line-height:1.6;margin-bottom:var(--space-6);flex-grow:1}.service-card__description,.service-card__link{font-family:var(--font-body);font-size:var(--text-sm)}.service-card__link{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:500;color:var(--color-sage);transition:all .3s ease}.service-card__link svg{transition:transform .3s ease}.service-card:hover .service-card__link{color:var(--color-sage-dark)}.service-card:hover .service-card__link svg{transform:translateX(6px)}@media (max-width:1024px){.services__grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.services__grid{grid-template-columns:1fr}}.featured-projects{padding:var(--space-24) 0;background-color:var(--color-cream-light)}.featured-projects__header{text-align:center;margin-bottom:var(--space-16)}.featured-projects__eyebrow{display:block;font-family:var(--font-accent);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.2em;color:var(--color-tan-text);margin-bottom:var(--space-3)}.featured-projects__title{font-family:var(--font-headline);font-size:clamp(var(--text-3xl),4vw,var(--text-5xl));color:var(--color-charcoal);letter-spacing:-.01em}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--space-8);gap:var(--space-8);margin-bottom:var(--space-12)}.project-card{display:block;text-decoration:none;border-radius:var(--radius-lg);overflow:hidden;background:var(--color-cream);border:1px solid var(--color-border-light);transition:all .4s cubic-bezier(.4,0,.2,1);animation:fadeInUp .8s ease-out var(--delay,0s) both}.project-card:hover{transform:translateY(-8px);box-shadow:0 25px 50px rgba(26,26,26,.15)}.project-card__image-wrapper{position:relative;aspect-ratio:4/3;overflow:hidden}.project-card__image{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.4,0,.2,1)}.project-card:hover .project-card__image{transform:scale(1.08)}.project-card__placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--color-cream-dark) 0,var(--color-tan-light) 100%)}.project-card__overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(45,74,62,.9) 0,transparent 60%);display:flex;align-items:flex-end;justify-content:center;padding-bottom:var(--space-6);opacity:0;transition:opacity .4s ease}.project-card:hover .project-card__overlay{opacity:1}.project-card__view{font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--color-cream);padding:var(--space-3) var(--space-5);border:1px solid var(--color-cream);border-radius:var(--radius-sm);transform:translateY(20px);transition:transform .4s ease}.project-card:hover .project-card__view{transform:translateY(0)}.project-card__content{padding:var(--space-6)}.project-card__type{display:inline-block;font-family:var(--font-body);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--color-cream);background:var(--color-sage);padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);margin-bottom:var(--space-3)}.project-card__title{font-family:var(--font-headline);font-size:var(--text-xl);color:var(--color-charcoal);margin:0 0 var(--space-2)}.project-card__location{display:inline-flex;align-items:center;gap:var(--space-1);font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-charcoal-muted)}.featured-projects__cta{text-align:center}.view-all-btn{display:inline-flex;align-items:center;gap:var(--space-3);font-family:var(--font-body);font-size:var(--text-base);font-weight:500;color:var(--color-sage);text-decoration:none;padding:var(--space-4) var(--space-8);border:2px solid var(--color-sage);border-radius:var(--radius-md);transition:all .4s ease}.view-all-btn:hover{background:var(--color-sage);color:var(--color-cream);transform:translateY(-2px);box-shadow:0 8px 20px rgba(45,74,62,.25)}.view-all-btn svg{transition:transform .4s ease}.view-all-btn:hover svg{transform:translateX(6px)}@media (max-width:900px){.projects-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.projects-grid{grid-template-columns:1fr}}.home-cta{position:relative;padding:var(--space-32) 0;text-align:center;color:var(--color-cream);background-color:var(--color-sage);overflow:hidden}.home-cta__bg{position:absolute;inset:0;z-index:0}.home-cta__gradient{position:absolute;inset:0;background:radial-gradient(ellipse 80% 50% at 50% 0,rgba(255,255,255,.05) 0,transparent 50%),radial-gradient(ellipse 80% 50% at 50% 100%,rgba(0,0,0,.2) 0,transparent 50%)}.home-cta__pattern{position:absolute;inset:0;width:100%;height:100%;color:var(--color-cream);opacity:.5}.home-cta__content{position:relative;z-index:2;max-width:700px;margin:0 auto}.home-cta__heading{font-family:var(--font-headline);font-size:clamp(2rem,4vw + .5rem,var(--text-5xl));color:var(--color-cream);margin-bottom:var(--space-6);letter-spacing:-.01em}.home-cta__text{font-family:var(--font-accent);font-size:var(--text-lg);line-height:1.8;max-width:60ch;margin:0 auto var(--space-10);opacity:.9}.home-cta__btn{display:inline-flex;align-items:center;gap:var(--space-3);font-family:var(--font-body);font-size:var(--text-base);font-weight:500;color:var(--color-sage);background:var(--color-cream);text-decoration:none;padding:var(--space-5) var(--space-10);border-radius:var(--radius-md);transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 20px rgba(0,0,0,.2)}.home-cta__btn:hover{background:var(--color-tan);transform:translateY(-3px);box-shadow:0 8px 30px rgba(0,0,0,.3)}.home-cta__btn svg{transition:transform .4s ease}.home-cta__btn:hover svg{transform:translateX(6px)}@media (prefers-reduced-motion:reduce){.hero__badge-dot,.hero__circle,.hero__quality-badge-inner svg,.hero__video-shimmer,.video-testimonial__shimmer{animation:none}.hero__badge,.hero__brush-accent,.hero__ctas,.hero__description,.hero__frame-corner,.hero__headline-line,.hero__quality-badge,.hero__tagline,.hero__visual-column,.project-card,.service-card{animation:none;opacity:1;transform:none}.hero__quality-badge{transform:translateX(-50%)}.hero__btn,.hero__image,.hero__video,.home-cta__btn,.project-card,.project-card__image,.service-card,.testimonial-carousel__nav,.video-ctrl,.video-ctrl__icon,.video-ctrl__ring,.video-testimonial__play-btn,.video-testimonial__play-ring,.view-all-btn{transition:none}.hero__btn:hover,.hero__media-frame:hover .hero__image,.home-cta__btn:hover,.project-card:hover,.service-card:hover,.video-ctrl:hover,.video-testimonial__play-btn:hover,.view-all-btn:hover{transform:none}}