:root{--primary-color:#bfa386;--primary-hover:#a68c70;--primary-light:rgba(191,163,134,0.12);--text-dark:#2c2c2c;--text-light:#7a7a7a;--text-muted:#9a9590;--text-inverse:#ffffff;--bg-white:#ffffff;--bg-offwhite:#faf9f7;--bg-section-alt:#f5f3f0;--bg-surface:#ffffff;--bg-elevated:#fdfcfb;--border-color:#e8e4df;--border-light:#f0ece8;--shadow-sm:0 4px 20px rgba(44,44,44,0.04);--shadow-md:0 8px 30px rgba(44,44,44,0.06);--shadow-lg:0 12px 40px rgba(44,44,44,0.08);--font-heading:var(--font-phenomena),sans-serif;--font-body:var(--font-montserrat),sans-serif;--text-body:15px;--text-body-line:1.75;--text-small:13px;--text-caption:12px;--text-label-spacing:0.18em}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);font-size:var(--text-body);color:var(--text-dark);line-height:var(--text-body-line);font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;background-color:var(--bg-offwhite)}.text-lead,p{line-height:var(--text-body-line);color:var(--text-light)}.text-lead{font-size:var(--text-body)}a{text-decoration:none;color:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.container{max-width:1200px;margin:0 auto;padding:0 20px}header{position:fixed;top:0;left:0;width:100%;z-index:1001;padding:15px 0;color:var(--text-dark);background-color:rgba(255,255,255,.97);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border-color);transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease;box-shadow:var(--shadow-sm)}body.mobile-menu-open header{background-color:#ffffff;-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom-color:var(--border-light)}.nav-inner{display:flex;justify-content:space-between;align-items:center}.logo-link{display:inline-flex;align-items:center;flex-shrink:0}.logo-img{width:auto;object-fit:contain;display:block}.logo-img--header{height:50px}.logo-img--footer{height:62px;margin-bottom:8px}.nav-links{display:flex;gap:30px;font-size:13px;text-transform:uppercase;letter-spacing:1px}.nav-links li a:hover{color:var(--primary-color);transition:.3s}.nav-right{font-size:13px}.nav-right,.nav-right-desktop{display:flex;align-items:center;gap:20px}.nav-toggle{display:none;position:relative;z-index:1002;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:44px;height:44px;padding:0;background:none;border:none;cursor:pointer;flex-shrink:0}.nav-toggle span{display:block;width:22px;height:2px;background:var(--text-dark);transition:transform .3s ease,opacity .3s ease}.nav-toggle.is-open span:first-child{transform:translateY(8px) rotate(45deg)}.nav-toggle.is-open span:nth-child(2){opacity:0}.nav-toggle.is-open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.mobile-nav{position:fixed;inset:0;background:#ffffff;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,visibility .25s ease;z-index:1000}.mobile-nav.is-open{opacity:1;visibility:visible;pointer-events:auto}.mobile-nav__panel{position:absolute;inset:0;width:100%;height:100%;background:#ffffff;padding:88px 28px 32px;overflow-y:auto;display:flex;flex-direction:column;justify-content:space-between}.mobile-nav.is-open .mobile-nav__panel{transform:none}.mobile-nav__links{display:flex;flex-direction:column;gap:0}.mobile-nav__links li{border-bottom:1px solid var(--border-light)}.mobile-nav__links a{display:block;padding:18px 0;font-size:14px;text-transform:uppercase;letter-spacing:2px;color:var(--text-dark);transition:color .3s ease}.mobile-nav__links a:hover{color:var(--primary-color)}.mobile-nav__footer{display:flex;align-items:center;justify-content:space-between;padding-top:24px;border-top:1px solid var(--border-light)}.language-switcher{display:flex;align-items:center;gap:6px;font-size:12px;letter-spacing:.04em}.language-switcher__link{color:var(--text-color);opacity:.55;transition:opacity .3s,color .3s}.language-switcher__item{display:inline-flex;align-items:center;gap:6px}.language-switcher__sep{opacity:.35;-webkit-user-select:none;-moz-user-select:none;user-select:none}.hero{position:relative;height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--text-dark);overflow:hidden}.hero-slideshow{z-index:0}.hero-slideshow,.hero-slideshow-set{position:absolute;inset:0}.hero-slideshow-set--mobile{display:none}.hero-slide{position:absolute;inset:0;background-size:cover;background-position:50%;opacity:0;transition:opacity 1.2s ease-in-out}.hero-slide.active{opacity:1}.hero-overlay{position:absolute;inset:0;background:linear-gradient(rgba(250,249,247,.175),rgba(250,249,247,.25));z-index:1}.hero-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center}.hero-logo-heading{margin:0 0 28px;line-height:0}.hero-logo{width:min(520px,78vw);height:auto;display:block;filter:drop-shadow(0 8px 24px rgba(255,255,255,.35))}.hero-content p{font-size:14px;letter-spacing:3px;margin-bottom:30px;color:var(--text-dark);font-weight:500}.btn,.hero-content p{text-transform:uppercase}.btn{display:inline-block;background-color:var(--primary-color);color:var(--text-inverse);padding:12px 35px;font-size:12px;letter-spacing:2px;transition:background .3s ease}.btn:hover{background-color:var(--primary-hover)}.services-wrapper{background-color:var(--bg-offwhite);padding:0 0 80px}.services-grid{display:flex;justify-content:center;gap:30px;margin-top:56px}.service-card{position:relative;overflow:hidden;width:350px;min-height:280px;box-shadow:var(--shadow-sm);text-align:left;transition:box-shadow .4s ease,transform .4s ease}.service-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.service-card-bg{position:absolute;inset:0;background-size:cover;background-position:50%;opacity:0;transform:scale(1.05);transition:opacity .45s ease,transform .6s ease;z-index:0}.service-card-overlay{position:absolute;inset:0;background:var(--bg-surface);transition:background .45s ease;z-index:1}.service-card:hover .service-card-bg{opacity:1;transform:scale(1)}.service-card:hover .service-card-overlay{background:linear-gradient(160deg,rgba(255,255,255,.47),rgba(250,249,247,.45) 55%,rgba(255,255,255,.44))}.service-card-content{position:relative;z-index:2;padding:50px 40px}.service-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;background:var(--primary-light);border-radius:50%;color:var(--primary-color);margin-bottom:20px}.service-card h3{font-family:var(--font-heading);font-size:20px;font-weight:400;letter-spacing:.04em;margin-bottom:14px;color:var(--text-dark)}.service-card p{font-size:var(--text-small);line-height:var(--text-body-line);color:var(--text-light);letter-spacing:.01em}.service-card:hover h3{color:var(--text-dark)}.service-card:hover p{color:#5f5a55}.about-section{padding:100px 0;background:var(--bg-section-alt)}.about-inner{display:flex;align-items:center;gap:60px}.about-image{flex:1 1}.about-image img{width:100%;height:auto;display:block}.about-text{flex:1 1}.section-label{font-size:var(--text-caption);font-weight:500;text-transform:uppercase;letter-spacing:var(--text-label-spacing);color:var(--primary-color);margin-bottom:18px;display:flex;align-items:center;gap:12px}.section-label:before{content:"";width:30px;height:1px;background-color:var(--primary-color)}.about-text h2{font-family:var(--font-heading);font-size:42px;font-weight:400;line-height:1.15;margin-bottom:28px;letter-spacing:.02em}.about-text p{font-size:var(--text-body);line-height:var(--text-body-line);color:var(--text-light);margin-bottom:22px;letter-spacing:.01em}.stats{display:flex;gap:50px;margin-top:40px}.stat-item .stat-value{font-family:var(--font-heading);font-size:36px;color:var(--primary-color);margin-bottom:5px;text-transform:none;letter-spacing:.02em;font-weight:400;line-height:1.1}.stat-item p:not(.stat-value){font-size:var(--text-caption);font-weight:500;text-transform:uppercase;letter-spacing:var(--text-label-spacing);color:var(--text-muted);margin:0}.categories-section{padding:100px 0;background-color:var(--bg-white);text-align:center}.categories-section .section-label{justify-content:center}.categories-section .section-label:after,.categories-section .section-label:before{content:"";width:30px;height:1px;background-color:var(--primary-color)}.categories-section h2{font-family:var(--font-heading);font-size:38px;font-weight:400;line-height:1.15;letter-spacing:.02em;margin-bottom:60px}.categories-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:40px 60px;max-width:900px;margin:0 auto}.category-item{display:flex;flex-direction:column;align-items:center;width:200px}.category-img{width:140px;height:140px;border-radius:50%;overflow:hidden;margin-bottom:20px}.category-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.category-item:hover .category-img img{transform:scale(1.1)}.category-item h3,.category-item h4{font-family:var(--font-heading);font-size:17px;font-weight:400;letter-spacing:.05em;margin-bottom:12px;color:var(--text-dark)}.category-item p{font-size:var(--text-small);line-height:var(--text-body-line);color:var(--text-light);letter-spacing:.01em}footer{background-color:var(--bg-section-alt);color:var(--text-dark);padding:80px 0 30px;font-size:13px;border-top:1px solid var(--border-color)}.footer-grid{display:flex;justify-content:space-between;gap:40px;margin-bottom:60px}.footer-col .footer-heading,.footer-col h5{font-family:var(--font-heading);font-size:13px;font-weight:400;text-transform:uppercase;letter-spacing:var(--text-label-spacing);color:var(--text-muted);margin-bottom:16px}.footer-col-brand .logo-link,.footer-logo{display:inline-flex;margin-bottom:4px}.footer-col ul{display:flex;flex-direction:column;gap:10px;color:var(--text-light);font-size:var(--text-small);line-height:1.6}.footer-col-brand{flex:1.5 1}.footer-contact-group,.footer-row{display:contents}.footer-col-contact,.footer-col-menu{flex:1 1}.footer-tagline{margin-bottom:5px}.footer-address,.footer-tagline{color:var(--text-light);font-size:var(--text-small);line-height:var(--text-body-line);letter-spacing:.01em}.footer-col-address{flex:1.5 1}.footer-bottom{text-align:center;padding-top:30px;border-top:1px solid var(--border-color);color:var(--text-light);font-size:11px}.footer-credit a{color:var(--text-dark);font-weight:500;transition:color .3s}.footer-credit a:hover{color:var(--primary-color)}.social-icons-footer,.social-icons-header{display:flex;align-items:center;gap:10px}.social-icons-footer{margin-top:20px}.social-link{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;background:var(--bg-white);border:1px solid var(--border-color);border-radius:50%;color:var(--text-light);transition:color .3s,background .3s,border-color .3s}.social-link:hover{color:var(--primary-color);background:var(--primary-light);border-color:var(--primary-color)}.btn-outline{padding:10px 20px;background:transparent;border:1px solid var(--text-inverse);text-transform:uppercase;font-size:12px;letter-spacing:2px;transition:.3s}.btn-outline:hover{background:var(--text-inverse);color:var(--text-dark)}.page-hero{height:45vh;min-height:350px;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--text-dark);padding-top:70px}.page-hero h1{font-family:var(--font-heading);font-size:48px;font-weight:400;letter-spacing:.03em}.about-page-section .about-inner{align-items:flex-start}.about-page-section .about-image img{box-shadow:var(--shadow-md)}.about-page-label{color:var(--text-light);margin-bottom:25px}.about-page-stats{border-top:1px solid var(--border-color);padding-top:30px}.process-section{position:relative;background-color:var(--bg-white);padding:100px 0}.process-section-label{justify-content:center;margin-bottom:10px}.process-section-label:after,.process-section-label:before{content:"";width:30px;height:1px;background-color:var(--primary-color)}.process-section-title{font-family:var(--font-heading);font-size:38px;font-weight:400;line-height:1.15;letter-spacing:.02em;text-align:center;margin-bottom:60px;color:var(--text-dark)}.about-page-section .about-text p{font-size:var(--text-body);line-height:var(--text-body-line);color:var(--text-light);margin-bottom:22px;letter-spacing:.01em}.process-container{max-width:1000px;margin:0 auto;display:flex;gap:20px}.process-card{flex:1 1;background:var(--bg-offwhite);padding:50px 35px;text-align:left;transition:.3s;border:1px solid var(--border-color);border-radius:2px}.process-card.active{background-color:var(--primary-color);color:var(--text-inverse);border-color:var(--primary-color)}.process-card.active p{color:rgba(255,255,255,.9)}.card-number{font-family:var(--font-heading);font-size:42px;color:var(--border-color);line-height:1;margin-bottom:20px}.process-card.active .card-number{color:rgba(255,255,255,.4)}.process-card h3{font-family:var(--font-heading);font-size:17px;font-weight:400;text-transform:uppercase;letter-spacing:var(--text-label-spacing);margin-bottom:14px;color:var(--text-dark)}.process-card.active h3{color:var(--text-inverse)}.process-card p{font-size:var(--text-small);line-height:var(--text-body-line);color:var(--text-light);letter-spacing:.01em}.page-contact{background-color:var(--bg-offwhite);min-height:100vh}.contact-cards-section{padding:80px 0 40px}.cards-grid{display:flex;justify-content:center;gap:30px}.contact-card{background:var(--bg-surface);padding:40px;flex:1 1;box-shadow:var(--shadow-sm);display:flex;align-items:flex-start;gap:20px;border-radius:2px}.card-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:48px;height:48px;background:var(--primary-light);border-radius:50%;color:var(--primary-color)}.card-info h2,.card-info h4{font-family:var(--font-heading);font-size:13px;font-weight:400;text-transform:uppercase;letter-spacing:var(--text-label-spacing);margin-bottom:10px;color:var(--text-muted)}.card-info p{font-size:var(--text-small);line-height:var(--text-body-line);color:var(--text-light);letter-spacing:.01em}.map-form-section{padding:0 0 100px}.map-form-grid{display:flex;gap:30px;background:var(--bg-surface);box-shadow:var(--shadow-sm);border-radius:2px;overflow:hidden}.map-container{flex:1 1;min-height:450px;position:relative}.map-container iframe{position:absolute;inset:0;width:100%;height:100%;border:none;display:block}.form-container{flex:1 1;padding:60px 50px;background-color:var(--bg-offwhite)}.form-group{margin-bottom:20px}.form-group input,.form-group textarea{width:100%;padding:15px 20px;border:1px solid var(--border-color);background-color:var(--bg-surface);font-family:var(--font-body);font-size:13px;color:var(--text-dark);outline:none;transition:border-color .3s}.form-group input:focus,.form-group textarea:focus{border-color:var(--primary-color)}.form-group textarea{height:120px;resize:vertical}.submit-btn{background-color:var(--primary-color);color:var(--text-inverse);border:none;padding:15px 40px;font-family:var(--font-body);font-size:12px;text-transform:uppercase;letter-spacing:2px;cursor:pointer;transition:background .3s}.submit-btn:hover{background-color:var(--primary-hover)}.submit-btn:disabled{opacity:.7;cursor:not-allowed}.form-honeypot{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}.form-feedback{font-size:13px;margin-bottom:16px;padding:12px 16px;border-radius:2px}.form-feedback--success{background-color:rgba(191,163,134,.15);color:var(--text-dark);border:1px solid var(--primary-color)}.form-feedback--error{background-color:#fef2f2;color:#991b1b;border:1px solid #fecaca}.page-team,.team-section{background-color:var(--bg-offwhite)}.team-section{padding:100px 0;text-align:center}.team-grid{display:flex;justify-content:center;gap:50px;max-width:900px;margin:0 auto}.team-member{flex:1 1;max-width:400px}.team-member img,.team-member-photo{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;margin-bottom:25px;box-shadow:var(--shadow-md)}.team-member h2,.team-member h3{font-family:var(--font-heading);font-size:16px;font-weight:400;color:var(--text-dark);margin-bottom:8px}.team-member h2,.team-member h3,.team-member p{text-transform:uppercase;letter-spacing:var(--text-label-spacing)}.team-member p{font-size:var(--text-caption);font-weight:500;color:var(--text-muted)}.footer-bottom-split{display:flex;justify-content:space-between;text-align:left}.page-team footer,footer.team-footer{margin-top:50px}.project-detail-page,.projects-page{padding:80px 0 100px;background:var(--bg-offwhite)}.projects-section-block{margin-bottom:70px}.projects-section-block h2{font-family:var(--font-heading);font-size:32px;margin-bottom:30px;color:var(--text-dark)}.projects-category-overview{margin-bottom:60px;text-align:center}.projects-category-list{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:20px}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:30px;gap:30px}.project-card{display:block;background:var(--bg-white);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);transition:transform .3s,box-shadow .3s;overflow:hidden}.project-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.project-card-image{position:relative;width:100%;aspect-ratio:4/3;background:var(--bg-section-alt);overflow:hidden}.project-card-image img{object-fit:cover}.project-card-placeholder{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-light);font-size:13px}.project-card-content{padding:24px}.project-card-content h3{font-size:18px;font-weight:600;margin-bottom:12px;color:var(--text-dark)}.project-card-meta{font-size:12px;color:var(--text-light);text-transform:uppercase;letter-spacing:1px}.project-card-tags{display:flex;flex-wrap:wrap;gap:8px}.project-tag{display:inline-block;padding:6px 12px;background:var(--primary-light);color:var(--primary-hover);font-size:11px;text-transform:uppercase;letter-spacing:1px;border-radius:2px}.project-tag--large{font-size:12px;padding:8px 16px}.project-back-link{display:inline-block;margin-bottom:40px;font-size:13px;text-transform:uppercase;letter-spacing:1px;color:var(--text-light);transition:color .3s}.project-back-link:hover{color:var(--primary-color)}.project-gallery-section{margin-bottom:60px}.project-gallery-title{font-family:var(--font-heading);font-size:28px;margin-bottom:24px;color:var(--text-dark);padding-bottom:12px;border-bottom:1px solid var(--border-color)}.project-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:20px;gap:20px}.project-gallery-item{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--bg-section-alt);box-shadow:var(--shadow-sm);padding:0;border:none;cursor:zoom-in;width:100%}.project-gallery-item img{object-fit:cover;transition:transform .5s ease}.project-gallery-item:hover img{transform:scale(1.05)}.lightbox{position:fixed;inset:0;z-index:2000;background:rgba(18,16,14,.92);display:flex;align-items:center;justify-content:center;padding:56px 72px}.lightbox-image{position:relative;width:min(1200px,100%);height:min(86vh,100%)}.lightbox-image img{object-fit:contain}.lightbox-close,.lightbox-nav{position:absolute;border:none;background:transparent;color:#fff;cursor:pointer;line-height:1}.lightbox-close{top:16px;right:24px;font-size:42px;z-index:2}.lightbox-nav{top:50%;transform:translateY(-50%);font-size:56px;padding:12px;z-index:2}.lightbox-nav--prev{left:16px}.lightbox-nav--next{right:16px}.projects-empty{text-align:center;padding:80px 20px;background:var(--bg-white);border:1px solid var(--border-color)}.projects-empty p{color:var(--text-light);margin-bottom:10px}.projects-empty-hint{font-size:13px}.projects-empty code{background:var(--bg-section-alt);padding:2px 8px;border-radius:2px}@media (max-width:992px){.services-grid{align-items:center;margin-top:40px}.about-inner,.services-grid{flex-direction:column}.footer-grid{flex-wrap:wrap;gap:32px 24px}.footer-col-brand,.footer-row{flex:1 1 100%}.footer-row{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"menu contact" "address address";grid-gap:24px;gap:24px;text-align:center;align-items:start}.footer-col-menu{grid-area:menu}.footer-col-contact,.footer-col-menu,.footer-contact-group{display:flex;flex-direction:column;align-items:center;text-align:center}.footer-contact-group{grid-area:contact;gap:20px}.footer-col-contact ul,.footer-col-menu ul{align-items:center}.footer-col-address{grid-area:address;text-align:center}.process-container{max-width:500px}.cards-grid,.map-form-grid,.process-container{flex-direction:column}.map-container{min-height:350px;height:350px;flex:none}.project-gallery-grid,.projects-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.nav-links,.nav-right-desktop{display:none}.nav-toggle{display:flex}.hero-slideshow-set--desktop{display:none}.hero-slideshow-set--mobile{display:block}.hero-slideshow-set--mobile .hero-slide{background-position:50%}.hero-logo{width:min(320px,82vw)}.lightbox{padding:64px 16px 24px}.lightbox-nav{font-size:42px}.lightbox-nav--prev{left:4px}.lightbox-nav--next{right:4px}.form-container{padding:40px 20px}.team-grid{flex-direction:column;align-items:center;gap:40px}.team-member{width:100%;max-width:350px}.footer-bottom-split{flex-direction:column;gap:10px;text-align:center}footer{padding:56px 0 24px}.footer-grid{gap:0;margin-bottom:36px}.footer-col-brand,.footer-grid{display:flex;flex-direction:column}.footer-col-brand{align-items:center;text-align:center;padding-bottom:28px;margin-bottom:28px;border-bottom:1px solid var(--border-light)}.footer-col-brand .logo-link{justify-content:center}.footer-tagline{max-width:300px;margin-bottom:0}.social-icons-footer{margin-top:16px;justify-content:center}.footer-row{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"address contact" "menu menu";grid-gap:28px 20px;gap:28px 20px;padding-bottom:28px;margin-bottom:28px;border-bottom:1px solid var(--border-light);text-align:center;align-items:start}.footer-col-menu{grid-area:menu;text-align:center;padding-top:8px;border-top:1px solid var(--border-light)}.footer-col-address,.footer-col-menu{display:flex;flex-direction:column;align-items:center}.footer-col-address{grid-area:address}.footer-contact-group{grid-area:contact;gap:22px}.footer-col-contact,.footer-contact-group{display:flex;flex-direction:column;align-items:center;text-align:center}.footer-col-contact{min-width:0}.footer-col-menu ul{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 18px}.footer-col-contact ul{display:flex;flex-direction:column;align-items:center;gap:10px}.footer-col-contact ul li{word-break:break-word}.footer-col-address{text-align:center}.footer-col .footer-heading,.footer-col h5{margin-bottom:12px}.footer-bottom{padding-top:24px}.project-gallery-grid,.projects-grid{grid-template-columns:1fr}}