.app{min-height:100vh;display:flex;flex-direction:column}main{flex:1}.navbar{position:fixed;top:0;left:0;right:0;z-index:var(--z-nav);padding:var(--spacing-md) 0;background-color:transparent;transition:all var(--transition-normal)}.navbar.scrolled{padding:var(--spacing-sm) 0;background-color:#fffffffa;box-shadow:0 2px 20px #00000014}.navbar-container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md);display:flex;align-items:center;justify-content:space-between}.navbar-logo{display:flex;flex-direction:column;line-height:1.2}.logo-text{font-family:var(--font-heading);font-size:1.5rem;font-weight:500;color:var(--color-white);letter-spacing:.02em}.navbar.scrolled .logo-text{color:var(--color-charcoal)}.logo-subtitle{font-size:.625rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--color-white);opacity:.8}.navbar.scrolled .logo-subtitle{color:var(--color-concrete)}.navbar-menu{display:flex;gap:var(--spacing-md)}.navbar-link{font-size:.875rem;font-weight:500;color:var(--color-white);opacity:.9;text-transform:uppercase;letter-spacing:.05em;padding:.5rem 0;position:relative;transition:opacity var(--transition-fast)}.navbar-link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background-color:var(--color-white);transition:width var(--transition-normal)}.navbar-link:hover{opacity:1}.navbar-link:hover:after{width:100%}.navbar.scrolled .navbar-link{color:var(--color-charcoal);opacity:.8}.navbar.scrolled .navbar-link:after{background-color:var(--color-charcoal)}.navbar-cta{display:block}.navbar-toggle{display:none;flex-direction:column;gap:5px;padding:5px;z-index:calc(var(--z-nav) + 1)}.hamburger-line{width:24px;height:2px;background-color:var(--color-white);transition:all var(--transition-normal)}.navbar.scrolled .hamburger-line{background-color:var(--color-charcoal)}.hamburger-line:nth-child(2){opacity:.7}.navbar-toggle.active .hamburger-line:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.navbar-toggle.active .hamburger-line:nth-child(2){opacity:0}.navbar-toggle.active .hamburger-line:nth-child(3){transform:rotate(-45deg) translate(7px,-6px)}@media (max-width: 900px){.navbar-menu{position:fixed;top:0;right:-100%;width:80%;max-width:400px;height:100vh;flex-direction:column;gap:0;background-color:var(--color-white);padding:calc(var(--spacing-lg) + 20px) var(--spacing-md);transition:right var(--transition-normal);box-shadow:-5px 0 30px #0000001a}.navbar-menu.open{right:0}.navbar-item{border-bottom:1px solid var(--color-light-concrete)}.navbar-item:last-child{border-bottom:none}.navbar-link{display:block;padding:var(--spacing-sm) 0;font-size:1rem;color:var(--color-charcoal);opacity:1}.navbar-link:after{display:none}.navbar-cta{display:none}.navbar-toggle{display:flex}.navbar.mobile-open{background-color:var(--color-white)}.logo-text,.logo-subtitle{color:var(--color-charcoal)}}.hero{position:relative;height:100vh;min-height:600px;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-background{position:absolute;top:0;left:0;right:0;bottom:0;background-image:url(https://images.unsplash.com/photo-1600596542815-2495db98dada?ixlib=rb-4.0.3&auto=format&fit=crop&w=2000&q=80);background-size:cover;background-position:center;background-repeat:no-repeat}.hero-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom,#0006,#00000080,#000000b3)}.hero-content{position:relative;z-index:1;width:100%;padding:var(--spacing-xl) 0}.hero-text{max-width:800px;text-align:center}.hero-title{font-family:var(--font-heading);font-size:clamp(2.5rem,7vw,4.5rem);font-weight:400;line-height:1.1;color:var(--color-white);margin-bottom:var(--spacing-md);opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.hero-text.visible .hero-title{opacity:1;transform:translateY(0)}.hero-description{font-size:clamp(1rem,2vw,1.25rem);line-height:1.7;color:var(--color-white);opacity:.9;max-width:650px;margin:0 auto var(--spacing-lg);opacity:0;transform:translateY(30px);transition:opacity .8s ease .2s,transform .8s ease .2s}.hero-text.visible .hero-description{opacity:.9;transform:translateY(0)}.hero-cta{display:flex;gap:var(--spacing-sm);justify-content:center;flex-wrap:wrap;opacity:0;transform:translateY(30px);transition:opacity .8s ease .4s,transform .8s ease .4s}.hero-text.visible .hero-cta{opacity:1;transform:translateY(0)}.hero-scroll{position:absolute;bottom:var(--spacing-md);left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);opacity:0;transition:opacity 1s ease .8s}.hero-text.visible~.hero-scroll{opacity:.7}.hero-scroll span{font-size:.75rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--color-white)}.scroll-line{width:1px;height:40px;background:linear-gradient(to bottom,var(--color-white) 0%,transparent 100%)}@media (max-width: 768px){.hero-cta{flex-direction:column;width:100%}.hero-cta .btn{width:100%}}.about{background-color:var(--color-white)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xl);align-items:center}.about-content{opacity:0;transform:translate(-30px);transition:opacity .8s ease,transform .8s ease}.about-content.visible{opacity:1;transform:translate(0)}.section-label{display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--color-bronze);margin-bottom:var(--spacing-sm)}.about-description{font-size:1.125rem;line-height:1.8;color:var(--color-concrete);margin-bottom:var(--spacing-md)}.about-description:last-child{margin-bottom:var(--spacing-lg)}.about-info{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-light-concrete)}.about-info-item{display:flex;flex-direction:column;gap:var(--spacing-xs)}.info-label{font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--color-concrete)}.info-value{font-size:1rem;font-weight:500;color:var(--color-charcoal)}.about-image{opacity:0;transform:translate(30px);transition:opacity .8s ease .2s,transform .8s ease .2s}.about-image.visible{opacity:1;transform:translate(0)}.image-wrapper{position:relative;overflow:hidden}.image-wrapper img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;transition:transform .8s ease}.about-image:hover .image-wrapper img{transform:scale(1.03)}.image-accent{position:absolute;top:-20px;right:-20px;width:100px;height:100px;border:2px solid var(--color-bronze);opacity:.3}@media (max-width: 900px){.about-grid{grid-template-columns:1fr;gap:var(--spacing-lg)}.about-image{order:-1}.about-info{grid-template-columns:1fr;gap:var(--spacing-sm)}}.services{background-color:var(--color-off-white)}.services .section-header{text-align:center;max-width:700px;margin:0 auto var(--spacing-xl);opacity:0;transform:translateY(20px);transition:opacity .8s ease,transform .8s ease}.services .section-header.visible{opacity:1;transform:translateY(0)}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md)}.service-card{background-color:var(--color-white);padding:var(--spacing-lg);position:relative;border:1px solid transparent;transition:all var(--transition-normal);opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease,border-color var(--transition-normal),box-shadow var(--transition-normal)}.service-card.visible{opacity:1;transform:translateY(0)}.service-card:hover{border-color:var(--color-bronze);box-shadow:0 10px 40px #00000014}.service-number{font-family:var(--font-heading);font-size:2.5rem;font-weight:400;color:var(--color-bronze);opacity:.5;margin-bottom:var(--spacing-sm);line-height:1}.service-title{font-family:var(--font-heading);font-size:1.5rem;font-weight:500;color:var(--color-charcoal);margin-bottom:var(--spacing-sm);line-height:1.3}.service-description{font-size:1rem;line-height:1.7;color:var(--color-concrete)}@media (max-width: 900px){.services-grid{grid-template-columns:1fr;gap:var(--spacing-md)}.service-card{padding:var(--spacing-md)}}@media (max-width: 600px){.service-card{padding:var(--spacing-md) var(--spacing-sm)}.service-number{font-size:2rem}.service-title{font-size:1.25rem}}.portfolio{background-color:var(--color-white)}.portfolio .section-header{text-align:center;max-width:700px;margin:0 auto var(--spacing-xl);opacity:0;transform:translateY(20px);transition:opacity .8s ease,transform .8s ease}.portfolio .section-header.visible{opacity:1;transform:translateY(0)}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md)}.portfolio-item{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.portfolio-item.visible{opacity:1;transform:translateY(0)}.portfolio-image{position:relative;overflow:hidden;margin-bottom:var(--spacing-sm)}.portfolio-image img{width:100%;height:auto;object-fit:cover;transition:transform .8s ease}.portfolio-item:hover .portfolio-image img{transform:scale(1.05)}.portfolio-overlay{position:absolute;top:var(--spacing-sm);left:var(--spacing-sm)}.project-status{display:inline-block;padding:.5rem 1rem;font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;background-color:var(--color-white);color:var(--color-charcoal);opacity:.9}.portfolio-info{padding:var(--spacing-sm) 0}.project-type{display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-bronze);margin-bottom:var(--spacing-xs)}.project-name{font-family:var(--font-heading);font-size:1.5rem;font-weight:500;color:var(--color-charcoal);margin-bottom:var(--spacing-xs);line-height:1.2}.project-location{display:block;font-size:.875rem;color:var(--color-concrete);margin-bottom:var(--spacing-sm)}.project-description{font-size:.9375rem;line-height:1.6;color:var(--color-concrete)}@media (max-width: 900px){.portfolio-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.portfolio-grid{grid-template-columns:1fr}.project-name{font-size:1.25rem}}.process{background-color:var(--color-charcoal);color:var(--color-white)}.process .section-header{text-align:center;max-width:700px;margin:0 auto var(--spacing-xl);opacity:0;transform:translateY(20px);transition:opacity .8s ease,transform .8s ease}.process .section-header.visible{opacity:1;transform:translateY(0)}.process .section-title{color:var(--color-white)}.process .section-subtitle{color:var(--color-concrete)}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-md);position:relative}.process-step{position:relative;padding:var(--spacing-md) var(--spacing-sm);opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.process-step.visible{opacity:1;transform:translateY(0)}.step-number{font-family:var(--font-heading);font-size:3rem;font-weight:400;color:var(--color-bronze);opacity:.3;line-height:1;margin-bottom:var(--spacing-sm)}.step-icon{width:50px;height:50px;margin-bottom:var(--spacing-sm)}.step-icon svg{width:100%;height:100%;stroke:var(--color-bronze)}.step-title{font-family:var(--font-heading);font-size:1.25rem;font-weight:500;color:var(--color-white);margin-bottom:var(--spacing-xs);line-height:1.3}.step-description{font-size:.9375rem;line-height:1.6;color:var(--color-concrete)}.step-connector{position:absolute;top:50%;right:-50%;width:100%;height:1px;background:linear-gradient(to right,var(--color-bronze) 0%,transparent 100%);opacity:.3}@media (max-width: 900px){.process-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg)}.step-connector{display:none}}@media (max-width: 600px){.process-grid{grid-template-columns:1fr;gap:var(--spacing-md)}.step-number{font-size:2.5rem}}.quality{background-color:var(--color-white)}.quality-layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xl);align-items:center}.quality-content{opacity:0;transform:translate(-30px);transition:opacity .8s ease,transform .8s ease}.quality-content.visible{opacity:1;transform:translate(0)}.quality-description{font-size:1.125rem;line-height:1.8;color:var(--color-concrete);margin-bottom:var(--spacing-lg)}.principles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md);margin-top:var(--spacing-lg)}.principle-card{padding:var(--spacing-md) var(--spacing-sm);border-left:2px solid var(--color-bronze);opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.principle-card.visible{opacity:1;transform:translateY(0)}.principle-title{font-family:var(--font-heading);font-size:1.25rem;font-weight:500;color:var(--color-charcoal);margin-bottom:var(--spacing-xs);line-height:1.3}.principle-description{font-size:.9375rem;line-height:1.6;color:var(--color-concrete)}.quality-image{opacity:0;transform:translate(30px);transition:opacity .8s ease .2s,transform .8s ease .2s}.quality-image.visible{opacity:1;transform:translate(0)}.quality-image .image-wrapper{position:relative;overflow:hidden}.quality-image .image-wrapper img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;transition:transform .8s ease}.quality-image:hover .image-wrapper img{transform:scale(1.03)}.quality-image .image-accent{position:absolute;bottom:-20px;left:-20px;width:100px;height:100px;border:2px solid var(--color-bronze);opacity:.3}@media (max-width: 900px){.quality-layout{grid-template-columns:1fr;gap:var(--spacing-lg)}.quality-image{order:-1}.principles-grid{grid-template-columns:1fr;gap:var(--spacing-sm)}}.contact{background-color:var(--color-off-white)}.contact-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:var(--spacing-xl);align-items:start}.contact-info{padding-top:var(--spacing-sm)}.contact-description{font-size:1.125rem;line-height:1.8;color:var(--color-concrete);margin-bottom:var(--spacing-lg)}.contact-details{display:flex;flex-direction:column;gap:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-light-concrete)}.contact-item{display:flex;flex-direction:column;gap:var(--spacing-xs)}.contact-label{font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-concrete)}.contact-value{font-size:1rem;color:var(--color-charcoal);line-height:1.6}.contact-form-wrapper{background-color:var(--color-white);padding:var(--spacing-lg);border:1px solid var(--color-light-concrete)}.contact-form{display:flex;flex-direction:column;gap:var(--spacing-sm)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-group label{font-size:.875rem;font-weight:500;color:var(--color-charcoal)}.form-group input,.form-group select,.form-group textarea{padding:.875rem 1rem;border:1px solid var(--color-light-concrete);border-radius:0;font-size:1rem;color:var(--color-charcoal);background-color:var(--color-white);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-concrete)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-bronze);box-shadow:0 0 0 3px #b8956a1a}.form-group textarea{resize:vertical;min-height:120px}.form-group select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%238b8b8b' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}.contact-form .btn{margin-top:var(--spacing-sm)}.form-success{text-align:center;padding:var(--spacing-xl) var(--spacing-md)}.form-success h3{font-family:var(--font-heading);font-size:2rem;font-weight:400;color:var(--color-charcoal);margin-bottom:var(--spacing-sm)}.form-success p{font-size:1.125rem;color:var(--color-concrete);margin-bottom:var(--spacing-md)}@media (max-width: 900px){.contact-layout{grid-template-columns:1fr;gap:var(--spacing-lg)}.contact-form-wrapper{padding:var(--spacing-md)}}@media (max-width: 600px){.form-row{grid-template-columns:1fr}.contact-form-wrapper{padding:var(--spacing-sm)}}.footer{background-color:var(--color-charcoal);color:var(--color-white);padding:var(--spacing-xl) 0 var(--spacing-md)}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--spacing-lg);padding-bottom:var(--spacing-lg);border-bottom:1px solid rgba(255,255,255,.1)}.footer-brand{display:flex;flex-direction:column;gap:var(--spacing-md)}.footer-logo{display:flex;flex-direction:column;line-height:1.2}.footer-logo .logo-text{font-family:var(--font-heading);font-size:1.5rem;font-weight:500;color:var(--color-white);letter-spacing:.02em}.footer-logo .logo-subtitle{font-size:.625rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--color-concrete);opacity:.8}.footer-address{font-size:.9375rem;line-height:1.6;color:var(--color-concrete)}.footer-nav-title{font-size:.875rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-white);margin-bottom:var(--spacing-sm)}.footer-nav-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.footer-nav-list button,.footer-nav-list a{font-size:.9375rem;color:var(--color-concrete);text-align:left;padding:0;transition:color var(--transition-fast)}.footer-nav-list button:hover,.footer-nav-list a:hover{color:var(--color-white)}.footer-nav-list span{font-size:.9375rem;color:var(--color-concrete)}.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:var(--spacing-md)}.copyright{font-size:.875rem;color:var(--color-concrete)}.footer-links{display:flex;gap:var(--spacing-md)}.footer-links a{font-size:.875rem;color:var(--color-concrete);transition:color var(--transition-fast)}.footer-links a:hover{color:var(--color-white)}@media (max-width: 900px){.footer-grid{grid-template-columns:1fr;gap:var(--spacing-md)}.footer-bottom{flex-direction:column;gap:var(--spacing-sm);text-align:center}}:root{--color-white: #ffffff;--color-off-white: #f8f8f7;--color-charcoal: #1a1a1a;--color-graphite: #2d2d2d;--color-concrete: #8b8b8b;--color-light-concrete: #d4d4d4;--color-bronze: #b8956a;--color-bronze-dark: #8b7355;--color-black: #000000;--font-heading: "Cormorant Garamond", Georgia, serif;--font-body: "Manrope", -apple-system, BlinkMacSystemFont, sans-serif;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 2rem;--spacing-lg: 4rem;--spacing-xl: 6rem;--spacing-2xl: 8rem;--transition-fast: .2s ease;--transition-normal: .3s ease;--transition-slow: .5s ease;--z-nav: 1000;--z-overlay: 100}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);font-weight:400;line-height:1.6;color:var(--color-charcoal);background-color:var(--color-white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{max-width:100%;height:auto;display:block}a{text-decoration:none;color:inherit;transition:color var(--transition-fast)}ul{list-style:none}button{font-family:inherit;cursor:pointer;border:none;background:none}input,textarea,select{font-family:inherit;font-size:inherit}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.container-narrow{max-width:900px}.container-wide{max-width:1400px}.section{padding:var(--spacing-2xl) 0}.section-sm{padding:var(--spacing-xl) 0}.section-header{margin-bottom:var(--spacing-lg)}.section-title{font-family:var(--font-heading);font-size:clamp(2rem,5vw,3rem);font-weight:400;line-height:1.2;color:var(--color-charcoal);margin-bottom:var(--spacing-sm)}.section-subtitle{font-size:1.125rem;color:var(--color-concrete);max-width:600px;line-height:1.7}.text-uppercase{text-transform:uppercase}.text-center{text-align:center}.text-muted{color:var(--color-concrete)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:1rem 2rem;font-family:var(--font-body);font-size:.875rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase;transition:all var(--transition-normal);cursor:pointer;border:1px solid transparent}.btn-primary{background-color:var(--color-charcoal);color:var(--color-white);border-color:var(--color-charcoal)}.btn-primary:hover{background-color:var(--color-white);color:var(--color-charcoal)}.btn-secondary{background-color:transparent;color:var(--color-white);border-color:var(--color-white)}.btn-secondary:hover{background-color:var(--color-white);color:var(--color-charcoal)}.btn-outline{background-color:transparent;color:var(--color-charcoal);border-color:var(--color-charcoal)}.btn-outline:hover{background-color:var(--color-charcoal);color:var(--color-white)}.btn-sm{padding:.75rem 1.5rem;font-size:.75rem}.fade-in{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.fade-in.visible{opacity:1;transform:translateY(0)}@media (max-width: 768px){:root{--spacing-lg: 3rem;--spacing-xl: 4rem;--spacing-2xl: 5rem}.container{padding:0 var(--spacing-sm)}}
