@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400&family=Inter:wght@300;400;500;600&display=swap";:root{--color-cream: #F5F0EB;--color-sand: #E8E0D6;--color-olive: #4A5D3A;--color-olive-light: #6B7F5A;--color-olive-dark: #354428;--color-charcoal: #2C2C2C;--color-warm-gray: #8A8278;--color-white: #FFFFFF;--color-black: #1A1A1A;--color-gold: #B8965A;--font-heading: "Cormorant Garamond", Georgia, serif;--font-body: "Inter", -apple-system, sans-serif;--section-padding: clamp(4rem, 8vw, 8rem);--container-width: 1280px;--container-padding: clamp(1.5rem, 4vw, 3rem);--ease-out: cubic-bezier(.16, 1, .3, 1);--transition-base: .4s var(--ease-out)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-weight:300;color:var(--color-charcoal);background-color:var(--color-cream);line-height:1.7;font-size:16px;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{text-decoration:none;color:inherit}ul,ol{list-style:none}button{border:none;background:none;cursor:pointer;font-family:inherit}h1,h2,h3,h4,h5{font-family:var(--font-heading);font-weight:400;line-height:1.15;color:var(--color-black)}h1{font-size:clamp(3rem,7vw,6rem);letter-spacing:-.02em}h2{font-size:clamp(2.2rem,4.5vw,3.8rem);letter-spacing:-.01em}h3{font-size:clamp(1.5rem,2.5vw,2rem)}h4{font-size:clamp(1.1rem,1.5vw,1.3rem);font-weight:500}p{max-width:65ch}.text-sm{font-size:.875rem;letter-spacing:.04em}.text-uppercase{text-transform:uppercase;letter-spacing:.15em;font-size:.75rem;font-weight:500}.container{max-width:var(--container-width);margin:0 auto;padding:0 var(--container-padding)}.section{padding:var(--section-padding) 0}.section--dark{background-color:var(--color-charcoal);color:var(--color-cream)}.section--dark h2,.section--dark h3,.section--dark h4{color:var(--color-cream)}.section--olive{background-color:var(--color-olive-dark);color:var(--color-cream)}.section--olive h2,.section--olive h3{color:var(--color-cream)}.header{position:fixed;top:0;left:0;width:100%;z-index:100;padding:1.5rem 0;transition:background-color .5s ease,padding .4s ease,backdrop-filter .5s ease}.header.scrolled{background-color:#f5f0ebeb;backdrop-filter:blur(20px);padding:1rem 0}.header__inner{display:flex;align-items:center;justify-content:space-between}.header__logo{font-family:var(--font-heading);font-size:1.6rem;font-weight:400;letter-spacing:.02em;color:var(--color-white);transition:color var(--transition-base)}.header.scrolled .header__logo{color:var(--color-black)}.header__logo span{display:block;font-size:.6rem;text-transform:uppercase;letter-spacing:.3em;font-family:var(--font-body);font-weight:400;opacity:.7;margin-top:2px}.header__nav{display:flex;align-items:center;gap:2.5rem}.header__nav a{font-size:.85rem;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:#ffffffd9;transition:color var(--transition-base);position:relative}.header.scrolled .header__nav a{color:var(--color-charcoal)}.header__nav a:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:1px;background:currentColor;transition:width var(--transition-base)}.header__nav a:hover:after{width:100%}.header__nav a.btn-nav{padding:.6rem 1.6rem;border:1px solid currentColor;transition:all var(--transition-base)}.header__nav a.btn-nav:after{display:none}.header__nav a.btn-nav:hover{background:var(--color-olive);border-color:var(--color-olive);color:var(--color-white)}.header__menu-btn{display:none;flex-direction:column;gap:6px;width:28px;padding:4px 0}.header__menu-btn span{display:block;height:1.5px;background:var(--color-white);transition:all .3s ease}.header.scrolled .header__menu-btn span{background:var(--color-black)}.hero{position:relative;min-height:100vh;display:flex;align-items:center;padding-top:clamp(4rem,10vh,8rem);overflow:hidden}.hero__bg{position:absolute;inset:0;z-index:0;background-color:var(--color-olive-dark)}.hero__bg img,.hero__bg video{width:100%;height:100%;object-fit:cover}.hero__overlay{position:absolute;inset:0;background:linear-gradient(to bottom,#00000026,#0000000d 40%,#00000073)}.hero__content{position:relative;z-index:2;color:var(--color-white)}.hero__content h1{color:var(--color-white);margin-bottom:1.5rem;font-weight:300;text-align:left;font-size:clamp(2.55rem,5.95vw,5.1rem)}.hero__content h1 em{font-style:italic;font-weight:300}.hero__content p{font-size:clamp(1rem,1.3vw,1.15rem);opacity:.85;max-width:520px;margin-bottom:2rem;line-height:1.8}.hero__scroll{position:absolute;bottom:2rem;right:var(--container-padding);display:flex;align-items:center;gap:.75rem;color:#fff9;font-size:.7rem;text-transform:uppercase;letter-spacing:.2em;writing-mode:vertical-rl;z-index:2}.hero__scroll:after{content:"";width:1px;height:50px;background:#ffffff4d;animation:scrollLine 2s ease-in-out infinite}@keyframes scrollLine{0%,to{transform:scaleY(1);opacity:.3}50%{transform:scaleY(.5);opacity:1}}.btn{display:inline-flex;align-items:center;gap:.75rem;font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.12em;padding:1rem 2.2rem;border:1px solid var(--color-olive);color:var(--color-olive);transition:all var(--transition-base);position:relative;overflow:hidden}.btn:before{content:"";position:absolute;inset:0;background:var(--color-olive);transform:translateY(100%);transition:transform var(--transition-base)}.btn:hover{color:var(--color-white)}.btn:hover:before{transform:translateY(0)}.btn span{position:relative;z-index:1}.btn--white{border-color:var(--color-white);color:var(--color-white)}.btn--white:before{background:var(--color-white)}.btn--white:hover{color:var(--color-black)}.btn--filled{background:var(--color-olive);color:var(--color-white);border-color:var(--color-olive)}.btn--filled:before{background:var(--color-olive-dark)}.btn-arrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;font-weight:500;color:var(--color-olive);transition:gap var(--transition-base)}.btn-arrow:hover{gap:1rem}.btn-arrow svg{width:20px;height:20px;transition:transform var(--transition-base)}.intro{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,6vw,6rem);align-items:center}.intro__label{color:var(--color-olive);margin-bottom:1.5rem}.intro__text h2{margin-bottom:1.5rem}.intro__text p{color:var(--color-warm-gray);margin-bottom:2rem}.intro__image{position:relative;aspect-ratio:4/5;overflow:hidden}.intro__image img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease-out)}.intro__image:hover img{transform:scale(1.04)}.intro__image:after{content:"";position:absolute;bottom:-1rem;right:-1rem;width:40%;height:40%;border:1px solid var(--color-olive);opacity:.3;z-index:-1}.services__header{text-align:center;max-width:640px;margin:0 auto clamp(3rem,5vw,4.5rem)}.services__header p{margin:1rem auto 0;color:var(--color-warm-gray)}.services__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}.service-card{padding:clamp(2rem,3vw,3rem);background:var(--color-white);border:1px solid rgba(0,0,0,.06);transition:all var(--transition-base);position:relative}.service-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:var(--color-olive);transform:scaleX(0);transform-origin:left;transition:transform var(--transition-base)}.service-card:hover:before{transform:scaleX(1)}.service-card:hover{transform:translateY(-4px);box-shadow:0 20px 60px #0000000f}.service-card__icon{width:48px;height:48px;margin-bottom:1.5rem;color:var(--color-olive)}.service-card h4{margin-bottom:.75rem}.service-card p{font-size:.9rem;color:var(--color-warm-gray)}.projects__header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:clamp(2.5rem,4vw,4rem)}.projects__header p{color:#f5f0eb99;margin-top:.75rem}.projects__grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1.5rem}.project-card{position:relative;overflow:hidden;cursor:pointer}.project-card:nth-child(1){grid-column:span 7;aspect-ratio:16/10}.project-card:nth-child(2){grid-column:span 5;aspect-ratio:4/5}.project-card:nth-child(3){grid-column:span 4;aspect-ratio:3/4}.project-card:nth-child(4){grid-column:span 4;aspect-ratio:3/4}.project-card:nth-child(5){grid-column:span 4;aspect-ratio:3/4}.project-card img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease-out)}.project-card:hover img{transform:scale(1.06)}.project-card__overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.6) 0%,transparent 50%);display:flex;align-items:flex-end;padding:2rem;opacity:0;transition:opacity var(--transition-base)}.project-card:hover .project-card__overlay{opacity:1}.project-card__overlay h4{color:var(--color-white);font-family:var(--font-heading);font-size:1.4rem}.project-card__overlay span{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:#ffffffb3;margin-top:.25rem}.testimonial{text-align:center;max-width:800px;margin:0 auto}.testimonial__quote{position:relative}.testimonial__quote:before{content:"“";font-family:var(--font-heading);font-size:8rem;color:var(--color-olive);opacity:.2;position:absolute;top:-3rem;left:50%;transform:translate(-50%);line-height:1}.testimonial__quote blockquote{font-family:var(--font-heading);font-size:clamp(1.4rem,2.5vw,2rem);font-style:italic;font-weight:300;line-height:1.6;color:var(--color-charcoal);position:relative;z-index:1}.testimonial__author{margin-top:2rem}.testimonial__author strong{display:block;font-weight:500;font-size:.9rem}.testimonial__author span{font-size:.8rem;color:var(--color-warm-gray)}.cta-banner{position:relative;padding:clamp(5rem,10vw,8rem) 0;text-align:center;overflow:hidden}.cta-banner__bg{position:absolute;inset:0}.cta-banner__bg img{width:100%;height:100%;object-fit:cover}.cta-banner__content{position:relative;z-index:2;color:var(--color-white)}.cta-banner__content h2{color:var(--color-white);margin-bottom:1rem}.cta-banner__content p{margin:0 auto 2.5rem;opacity:.8;max-width:500px}.process__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;counter-reset:process}.process-step{padding:clamp(2rem,3vw,3rem);border-right:1px solid rgba(255,255,255,.1);counter-increment:process;position:relative}.process-step:last-child{border-right:none}.process-step__number{font-family:var(--font-heading);font-size:3.5rem;font-weight:300;color:var(--color-olive-light);opacity:.4;line-height:1;margin-bottom:1.5rem}.process-step h4{color:var(--color-cream);font-family:var(--font-heading);font-size:1.3rem;margin-bottom:.75rem}.process-step p{font-size:.85rem;color:#f5f0eb8c;line-height:1.7}.footer{background:var(--color-black);color:#fff9;padding:clamp(4rem,6vw,6rem) 0 2rem}.footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:clamp(2rem,4vw,4rem);margin-bottom:4rem}.footer__brand .header__logo{color:var(--color-white);margin-bottom:1.5rem;display:inline-block}.footer__brand p{font-size:.9rem;line-height:1.8;max-width:300px}.footer h5{color:var(--color-white);font-family:var(--font-body);font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;font-weight:500;margin-bottom:1.5rem}.footer__contact{padding-top:1.6rem}.footer ul li{margin-bottom:.75rem}.footer ul li a{font-size:.9rem;transition:color var(--transition-base)}.footer ul li a:hover{color:var(--color-white)}.footer__contact-info p{font-size:.9rem;margin-bottom:.5rem}.footer__contact-info a:hover{color:var(--color-white)}.footer__bottom{padding-top:2rem;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;align-items:center;font-size:.8rem}.footer__social{display:flex;gap:1.5rem}.footer__social a{transition:color var(--transition-base)}.footer__social a:hover{color:var(--color-white)}.page-hero{padding:clamp(8rem,14vw,12rem) 0 clamp(4rem,8vw,6rem);background:var(--color-charcoal);color:var(--color-white)}.page-hero h1{color:var(--color-white);font-weight:300}.page-hero p{color:#fff9;margin-top:1rem;max-width:500px}.contact-section{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(3rem,6vw,6rem)}.contact-info h3,.contact-detail{margin-bottom:2rem}.contact-detail__label{color:var(--color-olive);margin-bottom:.5rem}.contact-detail p,.contact-detail a{font-size:1.05rem}.contact-detail a{transition:color var(--transition-base)}.contact-detail a:hover{color:var(--color-olive)}.contact-hours{padding:2rem;background:var(--color-sand);margin-top:1rem}.contact-hours h4{margin-bottom:1rem}.contact-hours__row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid rgba(0,0,0,.06);font-size:.9rem}.contact-hours__row:last-child{border-bottom:none}.contact-form h3{margin-bottom:.5rem}.contact-form>p{color:var(--color-warm-gray);margin-bottom:2rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;font-weight:500;margin-bottom:.5rem;color:var(--color-charcoal)}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.9rem 1rem;border:1px solid var(--color-sand);background:var(--color-white);font-family:var(--font-body);font-size:.95rem;font-weight:300;color:var(--color-charcoal);transition:border-color var(--transition-base);outline:none;appearance:none}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--color-olive)}.form-group textarea{resize:vertical;min-height:140px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.contact-map{margin-top:0}.contact-map__placeholder{width:100%;height:400px;background:var(--color-sand);display:flex;align-items:center;justify-content:center;color:var(--color-warm-gray);font-size:.9rem}@media(max-width:1024px){.services__grid,.process__grid{grid-template-columns:repeat(2,1fr)}.process-step:nth-child(2){border-right:none}.process-step:nth-child(1),.process-step:nth-child(2){border-bottom:1px solid rgba(255,255,255,.1)}.footer__grid{grid-template-columns:1fr 1fr;gap:2rem}.intro{grid-template-columns:1fr}.intro__image{max-height:500px}.contact-section{grid-template-columns:1fr}.projects__grid{grid-template-columns:repeat(2,1fr)}.project-card:nth-child(1){grid-column:span 2;aspect-ratio:16/9}.project-card:nth-child(2),.project-card:nth-child(3),.project-card:nth-child(4),.project-card:nth-child(5){grid-column:span 1;aspect-ratio:1}}@media(max-width:768px){.header__nav{display:none}.header__menu-btn{display:flex}.services__grid,.process__grid{grid-template-columns:1fr}.process-step{border-right:none;border-bottom:1px solid rgba(255,255,255,.1)}.process-step:last-child{border-bottom:none}.footer__grid,.projects__grid{grid-template-columns:1fr}.project-card:nth-child(1){grid-column:span 1}.project-card__overlay{opacity:1}.form-row{grid-template-columns:1fr}.projects__header{flex-direction:column;align-items:flex-start;gap:1rem}.footer__bottom{flex-direction:column;gap:1rem;text-align:center}.hero__content h1{display:none}}.fade-in{opacity:0;transform:translateY(30px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}.fade-in.visible{opacity:1;transform:translateY(0)}.fade-in-delay-1{transition-delay:.1s}.fade-in-delay-2{transition-delay:.2s}.fade-in-delay-3{transition-delay:.3s}.fade-in-delay-4{transition-delay:.4s}
