:root{--color-bg-travertine:#f3f1ec;--color-text-charcoal:#1a1714;--color-accent-stone:#b7a89a;--color-text-muted:#73685e;--color-bg-dark:#2c2420;--color-white:#fff;--font-display:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--text-hero:clamp(2rem, 4.5vw, 3.25rem);--text-h1:clamp(2.25rem, 4.5vw, 4.5rem);--text-h2:clamp(1.75rem, 3.5vw, 3rem);--text-h3:clamp(1.25rem, 2vw, 1.75rem);--text-body:clamp(.9375rem, 1vw, 1.0625rem);--text-small:clamp(.75rem, .8vw, .8125rem);--text-caption:.6875rem;--space-xs:.5rem;--space-sm:1rem;--space-md:2rem;--space-lg:3.5rem;--space-xl:4.5rem;--space-2xl:6.5rem;--container-max:1440px;--container-padding:clamp(1.5rem, 5vw, 6rem);--ease-premium:cubic-bezier(.16, 1, .3, 1);--duration-reveal:1s;--duration-hover:.6s;--duration-fast:.3s}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;font-size:100%}body{font-family:var(--font-body);font-size:var(--text-body);color:var(--color-text-charcoal);background-color:var(--color-bg-travertine);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;line-height:1.8;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;background:0 0;border:none}ul,ol{list-style:none}a:focus-visible,button:focus-visible{outline:2px solid var(--color-accent-stone);outline-offset:4px}.container{width:100%;max-width:var(--container-max);padding-left:var(--container-padding);padding-right:var(--container-padding);margin:0 auto}.font-display{font-family:var(--font-display)}.text-hero{font-family:var(--font-display);font-size:var(--text-hero);letter-spacing:-.02em;color:var(--color-text-charcoal);font-weight:300;line-height:1.05}h1,.h1,h2,.h2{font-family:var(--font-display);font-size:var(--text-h2);letter-spacing:-.01em;font-weight:400;line-height:1.15}h3,.h3{font-family:var(--font-body);font-size:var(--text-h3);font-weight:500;line-height:1.3}.text-label{font-family:var(--font-body);font-size:var(--text-caption);letter-spacing:.15em;text-transform:uppercase;color:var(--color-text-muted);font-weight:500}.text-muted{color:var(--color-text-muted)}.btn-primary{font-family:var(--font-body);font-size:var(--text-small);letter-spacing:.1em;text-transform:uppercase;color:var(--color-white);background-color:var(--color-text-charcoal);transition:background-color var(--duration-hover) var(--ease-premium), transform var(--duration-hover) var(--ease-premium);align-items:center;gap:.75rem;padding:1rem 2rem;font-weight:500;display:inline-flex}.btn-primary:hover{background-color:var(--color-bg-dark);transform:translateY(-2px)}.btn-text{font-family:var(--font-body);font-size:var(--text-small);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-charcoal);border-bottom:1px solid var(--color-accent-stone);transition:border-color var(--duration-hover) var(--ease-premium);align-items:center;gap:.5rem;padding-bottom:.25rem;font-weight:500;display:inline-flex}.btn-text:hover{border-color:var(--color-text-charcoal)}.divider{background-color:var(--color-accent-stone);border:none;width:3rem;height:1px}.site-header{z-index:1000;-webkit-backdrop-filter:blur(12px);transition:background-color var(--duration-fast) ease, padding var(--duration-fast) ease, border-color var(--duration-fast) ease;background-color:#f3f1ecf2;border-bottom:1px solid #1a17142e;padding:1rem 0;position:fixed;top:0;left:0;right:0}.site-header.scrolled{-webkit-backdrop-filter:blur(12px);background-color:#f3f1ecf2;padding:1rem 0}.site-header .container{justify-content:space-between;align-items:center;display:flex}.logo{font-family:var(--font-display);letter-spacing:.2em;text-transform:uppercase;font-size:1.375rem;font-weight:400}.nav-links{align-items:center;gap:2.5rem;display:flex}.nav-links a{font-family:var(--font-body);font-size:var(--text-caption);letter-spacing:.15em;text-transform:uppercase;color:var(--color-text-muted);transition:color var(--duration-fast) ease;font-weight:500;position:relative}.nav-links a:after{content:"";background-color:var(--color-text-charcoal);width:0;height:1px;transition:width var(--duration-hover) var(--ease-premium);position:absolute;bottom:-4px;left:0}.nav-links a:hover,.nav-links a.active{color:var(--color-text-charcoal)}.nav-links a:hover:after,.nav-links a.active:after{width:100%}.menu-toggle{flex-direction:column;gap:5px;width:24px;padding:4px 0;display:none}.menu-toggle span{background-color:var(--color-text-charcoal);width:100%;height:1.5px;transition:transform var(--duration-fast) var(--ease-premium), opacity var(--duration-fast) ease;display:block}.menu-toggle.active span:first-child{transform:translateY(6.5px)rotate(45deg)}.menu-toggle.active span:nth-child(2){opacity:0}.menu-toggle.active span:nth-child(3){transform:translateY(-6.5px)rotate(-45deg)}.mobile-menu{z-index:999;-webkit-backdrop-filter:blur(12px);padding:var(--space-md);align-items:flex-end;gap:var(--space-sm);opacity:0;visibility:hidden;transition:opacity var(--duration-hover) var(--ease-premium), visibility var(--duration-hover) ease, transform var(--duration-hover) var(--ease-premium);background-color:#f3f1ecfa;border-bottom:1px solid #1a171426;border-left:1px solid #1a171426;border-radius:0;flex-direction:column;display:flex;position:fixed;top:4.5rem;right:0;transform:translateY(-10px);box-shadow:0 10px 30px #0000000d}.mobile-menu.open{opacity:1;visibility:visible;transform:translateY(0)}.mobile-menu a{font-family:var(--font-body);font-size:var(--text-body);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-charcoal);transition:opacity var(--duration-fast) ease;font-weight:500}.mobile-menu a:hover{opacity:.5}.hero{width:100%;min-height:52vh;max-width:var(--container-max);padding-top:4.5rem;padding-left:var(--container-padding);padding-right:var(--container-padding);align-items:stretch;gap:var(--space-xl);grid-template-columns:4.5fr 5.5fr;margin:0 auto;display:grid}.hero-content{padding:3rem 0 0;padding-right:var(--space-lg);flex-direction:column;justify-content:flex-start;display:flex}.hero-label{margin-bottom:var(--space-md)}.hero-headline{font-family:var(--font-body);font-size:var(--text-hero);letter-spacing:-.02em;color:var(--color-text-charcoal);margin-bottom:var(--space-md);font-weight:300;line-height:1.2}.hero-subtitle{font-size:var(--text-body);color:var(--color-text-muted);max-width:32ch;margin-bottom:0}.hero-content p:last-of-type{margin-bottom:var(--space-lg)}.hero-scroll-indicator{padding-bottom:var(--space-lg);align-items:flex-start;gap:var(--space-sm);flex-direction:column;margin-top:auto;display:flex}.hero-scroll-indicator span{font-size:var(--text-caption);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);font-weight:500}.scroll-line{background-color:var(--color-accent-stone);width:1px;height:3rem;animation:2s ease-in-out infinite scrollPulse}@keyframes scrollPulse{0%,to{opacity:.3;transform-origin:top;transform:scaleY(.5)}50%{opacity:1;transform:scaleY(1)}}.hero-image{position:relative;overflow:hidden}.hero-image img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.statement-strip{background-color:var(--color-text-charcoal);padding:var(--space-xl) 0;text-align:center}.statement-strip .h1{color:var(--color-white);font-style:italic}.about-outline{padding:var(--space-xl) 0;background-color:#ece9e4;border-top:1px solid #1a17140d;border-bottom:1px solid #1a17140d}.about-outline .container{gap:var(--space-xl);grid-template-columns:1fr 1fr;align-items:center;display:grid}.about-outline-text{max-width:48ch}.about-outline-text .text-label,.about-outline-text h2{margin-bottom:var(--space-md)}.about-outline-text p{color:var(--color-text-muted);margin-bottom:var(--space-lg)}.process-steps{gap:var(--space-md);flex-direction:column;padding-top:0;display:flex}.process-step{align-items:baseline;gap:var(--space-sm);padding-bottom:var(--space-md);border-bottom:1px solid var(--color-accent-stone);display:flex}.process-step .step-number{font-family:var(--font-body);font-size:var(--text-small);color:var(--color-accent-stone);min-width:2.5rem;font-weight:300}.process-step .step-label{font-family:var(--font-body);font-size:var(--text-body);font-weight:500}.showcase{padding:var(--space-xl) 0}.showcase-header{margin-bottom:var(--space-md);justify-content:space-between;align-items:baseline;display:flex}.showcase-grid{gap:var(--space-md);grid-template-columns:repeat(3,1fr);display:grid}.showcase-item{overflow:hidden}.showcase-item-image{aspect-ratio:3/4;background-color:var(--color-accent-stone);position:relative;overflow:hidden}.showcase-item-image img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;transition:transform var(--duration-reveal) var(--ease-premium)}.showcase-item:hover .showcase-item-image img{transform:scale(1.03)}.showcase-item-info{padding-top:var(--space-sm)}.showcase-item-title{font-family:var(--font-body);font-size:var(--text-body);margin-bottom:.25rem;font-weight:500}.showcase-item-meta{font-size:var(--text-caption);color:var(--color-text-muted);letter-spacing:.05em}.material-banner{justify-content:center;align-items:center;width:100%;min-height:50vh;display:flex;position:relative;overflow:hidden}.material-banner img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.material-banner-overlay{background-color:#2c242066;position:absolute;inset:0}.material-banner-text{z-index:1;text-align:center;padding:var(--space-lg);position:relative}.material-banner-text .h1{color:var(--color-white);font-style:italic}.cta-section{padding:var(--space-xl) 0;text-align:center}.cta-section .text-label,.cta-section h2{margin-bottom:var(--space-md)}.cta-section .cta-contact-info{font-size:var(--text-small);color:var(--color-text-muted);margin-bottom:var(--space-lg)}.cta-section .cta-contact-info a{transition:color var(--duration-fast) ease}.cta-section .cta-contact-info a:hover{color:var(--color-text-charcoal)}.site-footer{background-color:var(--color-bg-dark);padding:var(--space-xl) 0 var(--space-lg);color:#f3f1ec99}.site-footer .container{gap:var(--space-xl);grid-template-columns:repeat(3,1fr);align-items:start;display:grid}.footer-col{gap:var(--space-sm);flex-direction:column;display:flex}.footer-col p{font-size:var(--text-small);line-height:1.7}.footer-logo{font-family:var(--font-display);letter-spacing:.2em;text-transform:uppercase;color:var(--color-bg-travertine);font-size:1.375rem;font-weight:400}.footer-tagline{font-size:var(--text-small);color:#f3f1eccc}.footer-legal-info{opacity:.6;font-size:var(--text-caption)!important}.footer-title{font-family:var(--font-body);font-size:var(--text-small);letter-spacing:.1em;text-transform:uppercase;color:var(--color-bg-travertine);margin-bottom:.5rem;font-weight:600}.footer-col ul{flex-direction:column;gap:.75rem;display:flex}.footer-col ul a{font-size:var(--text-small);color:#f3f1ecb3;transition:color var(--duration-fast) ease}.footer-col ul a:hover{color:var(--color-bg-travertine)}.footer-contact p{color:#f3f1ecb3}.footer-contact a{color:var(--color-bg-travertine);transition:opacity var(--duration-fast) ease}.footer-contact a:hover{opacity:.8}.footer-socials a{font-size:var(--text-caption);letter-spacing:.1em;text-transform:uppercase;color:var(--color-bg-travertine);transition:border-color var(--duration-fast) ease;border-bottom:1px solid #f3f1ec4d;align-self:flex-start;padding-bottom:.25rem;font-weight:500}.footer-socials a:hover{border-color:var(--color-bg-travertine)}.footer-bottom{margin-top:var(--space-xl);padding-top:var(--space-md);font-size:var(--text-caption);opacity:.5;border-top:1px solid #f3f1ec1a;display:block!important}.reveal{opacity:1;transition:none;transform:none}.reveal-delay-1{transition-delay:.12s}.reveal-delay-2{transition-delay:.24s}.reveal-delay-3{transition-delay:.36s}.reveal-delay-4{transition-delay:.48s}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}.scroll-line{animation:none}.showcase-item-image img{transition:none}}.page-header{padding-top:calc(5.5rem + var(--space-md));padding-bottom:0}.about-text .divider,.contact-header .divider,.page-header .divider{margin-top:var(--space-sm);margin-bottom:var(--space-md)}.page-header h1{margin-bottom:var(--space-sm)}.page-header .divider{margin-top:var(--space-sm)}.filter-bar{gap:var(--space-md);padding-bottom:var(--space-md);flex-wrap:wrap;display:flex}.filter-btn{font-family:var(--font-body);font-size:var(--text-caption);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);transition:color var(--duration-fast) ease, border-color var(--duration-fast) ease;border-bottom:1px solid #0000;padding:.5rem 0;font-weight:500}.filter-btn:hover,.filter-btn.active{color:var(--color-text-charcoal);border-color:var(--color-text-charcoal)}.projects-grid{gap:var(--space-md);padding-bottom:var(--space-2xl);grid-template-columns:repeat(2,1fr);display:grid}.project-card{transition:opacity var(--duration-hover) var(--ease-premium), transform var(--duration-hover) var(--ease-premium);overflow:hidden}.project-card[data-hidden=true]{display:none}.project-card-image{aspect-ratio:4/3;background-color:var(--color-accent-stone);position:relative;overflow:hidden}.slides-container{width:100%;height:100%;position:relative}.slide{opacity:0;transition:opacity var(--duration-hover) var(--ease-premium);pointer-events:none;position:absolute;inset:0}.slide.active{opacity:1;pointer-events:auto}.slide img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;transition:transform var(--duration-reveal) var(--ease-premium)}.project-card:hover .slide.active img{transform:scale(1.03)}.slide-nav{width:2.5rem;height:2.5rem;color:var(--color-white);z-index:10;opacity:0;transition:opacity var(--duration-fast) ease, background-color var(--duration-fast) ease, transform var(--duration-fast) ease;background-color:#1a171433;border-radius:50%;justify-content:center;align-items:center;font-size:1.25rem;font-weight:300;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.project-card:hover .slide-nav{opacity:1}.slide-nav:hover{background-color:#1a171499;transform:translateY(-50%)scale(1.05)}.slide-nav.prev{left:1rem}.slide-nav.next{right:1rem}.project-card-info{padding-top:var(--space-sm);padding-bottom:var(--space-md)}.project-card-title{font-family:var(--font-body);font-size:var(--text-body);margin-bottom:.25rem;font-weight:500}.project-card-meta{font-size:var(--text-caption);color:var(--color-text-muted)}.about-hero{padding-top:calc(5rem + var(--space-md));padding-bottom:var(--space-xl)}.about-hero h1{max-width:20ch}.about-content{padding-top:calc(5.5rem + var(--space-md));padding-bottom:var(--space-2xl)}.about-content .container{gap:var(--space-xl);grid-template-columns:1fr 1fr;align-items:start;display:grid}.about-image{aspect-ratio:3/4;background-color:var(--color-accent-stone);overflow:hidden}.about-image img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.about-text{margin:0;padding:0}.about-text .text-label,.about-text h2{margin-bottom:var(--space-sm)}.about-text p{color:var(--color-text-muted);margin-bottom:var(--space-md)}.about-text .text-label-footer{font-family:var(--font-body);font-size:var(--text-caption);letter-spacing:.15em;text-transform:uppercase;color:var(--color-text-muted);margin-top:var(--space-lg);font-weight:500}.materials-strip{padding:var(--space-xl) 0;border-top:1px solid var(--color-accent-stone)}.materials-grid{gap:var(--space-md);grid-template-columns:repeat(3,1fr);display:grid}.material-item{text-align:center}.material-item-image{aspect-ratio:1;margin-bottom:var(--space-sm);background-color:var(--color-accent-stone);overflow:hidden}.material-item-image img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.material-item-label{font-size:var(--text-caption);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);font-weight:500}.contact-header{margin-bottom:0}.contact-section{padding-top:calc(5.5rem + var(--space-md));padding-bottom:var(--space-2xl)}.contact-grid{gap:var(--space-xl);grid-template-columns:1fr 1fr;align-items:start;display:grid}.contact-header .text-label{margin-bottom:var(--space-xs)}.contact-info h1{margin-bottom:var(--space-lg)}.contact-detail{margin-bottom:var(--space-md)}.contact-detail .text-label{margin-bottom:var(--space-xs)}.contact-detail p,.contact-detail a{font-size:var(--text-body);color:var(--color-text-muted)}.contact-detail a:hover{color:var(--color-text-charcoal)}.contact-form{gap:var(--space-md);flex-direction:column;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{font-size:var(--text-caption);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);font-weight:500}.form-group input,.form-group textarea{font-family:var(--font-body);font-size:var(--text-body);color:var(--color-text-charcoal);border:none;border-bottom:1px solid var(--color-accent-stone);transition:border-color var(--duration-fast) ease;background:0 0;outline:none;padding:.75rem 0}.form-group input:focus,.form-group textarea:focus{border-color:var(--color-text-charcoal)}.form-group textarea{resize:vertical;min-height:8rem}.form-group input::-moz-placeholder{color:var(--color-accent-stone)}.form-group textarea::-moz-placeholder{color:var(--color-accent-stone)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-accent-stone)}.form-status{font-size:var(--text-small);padding:var(--space-sm) 0}.form-status.error{color:#b82e2e}.form-status.success{color:#367d53}.honeypot{opacity:0;height:0;position:absolute;left:-9999px;overflow:hidden}@media (width<=768px){.nav-links{display:none}.menu-toggle{display:flex}.hero{flex-direction:column;grid-template-columns:1fr;justify-content:center;align-items:flex-start;min-height:80vh;padding-top:4.5rem;padding-left:0;padding-right:0;display:flex;position:relative}.hero-content{z-index:2;padding:var(--container-padding);color:var(--color-white);text-align:left;order:1;width:100%;position:relative}.hero-headline{color:var(--color-white)}.hero-subtitle{color:#ffffffe6}.hero-label{color:#fffc}.hero-image{aspect-ratio:auto;order:2;height:100%;position:absolute;inset:0}.hero-image:after{content:"";background:linear-gradient(#140f0a4d 0%,#140f0ab3 100%);position:absolute;inset:0}.hero-scroll-indicator{display:none}.about-outline{padding:var(--space-lg) 0}.about-outline .container{gap:var(--space-md);grid-template-columns:1fr}.about-content .container,.contact-grid{gap:var(--space-lg);grid-template-columns:1fr}.process-steps{padding-top:var(--space-sm);gap:var(--space-sm)}.process-step{padding-bottom:var(--space-sm)}.showcase-grid{scroll-snap-type:x mandatory;gap:var(--space-md);margin:0 calc(var(--container-padding) * -1);padding-bottom:1.5rem;padding-left:var(--container-padding);padding-right:var(--container-padding);display:flex;overflow-x:auto}.showcase-grid::-webkit-scrollbar{height:3px;display:block}.showcase-grid::-webkit-scrollbar-track{margin:0 var(--container-padding);background:#1a17140d}.showcase-grid::-webkit-scrollbar-thumb{background:var(--color-accent-stone);border-radius:2px}.showcase-item{scroll-snap-align:center;flex:0 0 82vw}.showcase-header{gap:var(--space-sm);flex-direction:column}.projects-grid{grid-template-columns:1fr}.materials-grid{scroll-snap-type:x mandatory;gap:var(--space-md);margin:0 calc(var(--container-padding) * -1);padding-bottom:1.5rem;padding-left:var(--container-padding);padding-right:var(--container-padding);display:flex;overflow-x:auto}.materials-grid::-webkit-scrollbar{height:3px;display:block}.materials-grid::-webkit-scrollbar-track{margin:0 var(--container-padding);background:#1a17140d}.materials-grid::-webkit-scrollbar-thumb{background:var(--color-accent-stone);border-radius:2px}.material-item{scroll-snap-align:center;flex:0 0 82vw}.site-footer .container{gap:var(--space-lg);grid-template-columns:1fr}.footer-bottom{margin-top:var(--space-lg);text-align:center}}@media (width<=480px){.showcase-item,.material-item{flex:0 0 82vw}.filter-bar{gap:var(--space-sm)}}
