*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}:root{--stone-50:#faf8f5;--stone-100:#f3efe9;--stone-200:#e8e2da;--stone-300:#d4ccc1;--stone-400:#b5aa9c;--stone-500:#8c8074;--stone-600:#6b6058;--stone-700:#4a4139;--stone-800:#2d2620;--stone-900:#1a1613;--red:#b41c1c;--red-dark:#8f1616;--red-light:#d43030;--white:#ffffff;--font-serif:'DM Sans',system-ui,sans-serif;--font-serif-weight:300;--font-sans:'Outfit',system-ui,-apple-system,sans-serif;--container:1320px;--gap:clamp(1rem,2.5vw,2rem)}h1,h2,h3,.section-title{font-weight:var(--font-serif-weight)}html{scroll-behavior:smooth;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);font-weight:400;color:var(--stone-800);background:var(--stone-50);line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button{font-family:inherit;cursor:pointer;border:none;background:none}.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 clamp(1.25rem,4vw,3rem)}.skip-link{position:absolute;top:-100%;left:1rem;padding:0.75rem 1.5rem;background:var(--stone-900);color:var(--white);z-index:999;border-radius:0 0 6px 6px;font-size:0.875rem;transition:top 0.2s}.skip-link:focus{top:0}.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}.topbar{background:var(--stone-900);color:var(--stone-300);font-size:0.8125rem;font-weight:400;letter-spacing:0.02em;padding:0.5rem 0}.topbar .container{display:flex;justify-content:space-between;align-items:center;gap:1rem}.topbar-left{display:flex;align-items:center;gap:1.5rem}.topbar-left span{opacity:0.7}.topbar-right{display:flex;align-items:center;gap:1.5rem}.topbar a{color:var(--stone-300);transition:color 0.2s}.topbar a:hover{color:var(--white)}.topbar-phone-mobile{display:none}.topbar .lang-select{background:transparent;color:var(--stone-300);border:1px solid var(--stone-600);padding:0.2rem 0.5rem;border-radius:4px;font-size:0.75rem;font-family:var(--font-sans)}.header{background:var(--white);border-bottom:1px solid var(--stone-200);position:sticky;top:0;z-index:200;transition:box-shadow 0.3s}.header.scrolled{box-shadow:0 2px 20px rgba(42,36,30,0.08)}.header .container{display:flex;align-items:center;justify-content:space-between;height:80px;gap:2rem}.logo{display:flex;align-items:center;flex-shrink:0}.logo img{height:40px;width:auto;display:block}.logo-dark img{}.logo-light img{filter:brightness(0) invert(1)}.nav-main{display:flex;align-items:center;gap:0}.nav-main a{font-size:0.8125rem;font-weight:500;letter-spacing:0.04em;text-transform:uppercase;color:var(--stone-600);padding:0.5rem 1rem;border-radius:6px;transition:color 0.2s,background 0.2s;white-space:nowrap}.nav-main a:hover{color:var(--stone-900);background:var(--stone-100)}.nav-main a.active{color:var(--red)}.nav-dropdown-wrap{position:relative;display:flex;align-items:center}.nav-dropdown{display:none;position:absolute;top:calc(100% + 21px);left:50%;transform:translateX(-50%);min-width:220px;background:var(--white);border:1px solid var(--stone-200);border-top:0;border-radius:0 0 10px 10px;box-shadow:0 16px 32px rgba(42,36,30,0.12),0 2px 8px rgba(42,36,30,0.06);padding:0.375rem 0;z-index:300}.nav-dropdown::before{content:'';position:absolute;top:-22px;left:-1rem;right:-1rem;height:22px}.nav-dropdown-wrap:hover .nav-dropdown{display:block}.nav-dropdown a{display:block;padding:0.5625rem 1.25rem;font-size:0.8125rem;font-weight:500;color:var(--stone-600);text-transform:none;letter-spacing:0;border-radius:0;white-space:nowrap;transition:color 0.15s,background 0.15s}.nav-dropdown a:hover{background:var(--stone-100);color:var(--red)}.mobile-nav-child{padding:0.5rem 2rem 0.5rem 2.5rem!important;font-size:0.8125rem!important;font-weight:400!important;font-family:var(--font-sans)!important;color:var(--stone-500)!important;border-bottom:none!important;text-align:left!important}.mobile-nav-child:last-of-type{padding-bottom:1rem!important;border-bottom:1px solid var(--stone-100)!important}.nav-actions{display:flex;align-items:center;gap:0.5rem;flex-shrink:0}.nav-search-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:8px;border:1.5px solid var(--stone-200);background:transparent;color:var(--stone-500);cursor:pointer;transition:border-color 0.2s,color 0.2s}.nav-search-btn:hover{border-color:var(--stone-400);color:var(--stone-800)}.nav-search-btn svg{width:18px;height:18px}.btn{display:inline-flex;align-items:center;gap:0.5rem;font-family:var(--font-sans);font-weight:500;font-size:0.875rem;letter-spacing:0.02em;padding:0.625rem 1.5rem;border-radius:6px;transition:all 0.25s cubic-bezier(0.4,0,0.2,1)}.btn:active{transform:scale(0.98) translateY(1px)}.btn-primary{background:var(--red);color:var(--white)}.btn-primary:hover{background:var(--red-dark);box-shadow:0 4px 12px rgba(180,28,28,0.25)}.btn-outline{background:transparent;color:var(--stone-700);border:1.5px solid var(--stone-300)}.btn-outline:hover{border-color:var(--stone-600);color:var(--stone-900);background:var(--stone-100)}.btn-outline-light{background:transparent;color:var(--white);border:1.5px solid rgba(255,255,255,0.3)}.btn-outline-light:hover{border-color:var(--white);background:rgba(255,255,255,0.1);color:var(--white)}.btn-ghost{background:transparent;color:var(--stone-600);padding:0.5rem 0.75rem}.btn-ghost:hover{color:var(--stone-900)}.btn-large{padding:0.875rem 2rem;font-size:0.9375rem}.btn-icon{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;border:1.5px solid var(--stone-200);color:var(--stone-600);transition:all 0.2s}.btn-icon:hover{border-color:var(--stone-400);color:var(--stone-900)}.nav-toggle{display:none;flex-direction:column;gap:5px;padding:0.5rem;cursor:pointer;z-index:200}.nav-toggle span{display:block;width:22px;height:2px;background:var(--stone-700);border-radius:1px;transition:all 0.3s;transform-origin:center}.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle.open span:nth-child(2){opacity:0}.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-nav{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:var(--white);z-index:150;padding-top:110px;flex-direction:column;align-items:stretch;gap:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.mobile-nav.open{display:flex}.mobile-nav>a{display:block;width:100%;text-align:left;font-family:var(--font-sans);font-size:1rem;font-weight:600;color:var(--stone-800);padding:0.875rem 2rem;border-bottom:1px solid var(--stone-100);transition:color 0.2s;text-decoration:none;letter-spacing:0.01em}.mobile-nav>a:hover,.mobile-nav>a.active{color:var(--red);background:transparent}.mobile-nav .mobile-nav-cta{margin-top:auto;padding:1.25rem 2rem;width:100%;border-top:1px solid var(--stone-200)}.mobile-nav .mobile-nav-cta .btn{width:100%;justify-content:center;padding:0.75rem 2rem;font-size:0.9375rem;color:var(--white)}.mobile-nav .mobile-nav-utils{display:none}.hero{position:relative;min-height:62vh;display:flex;align-items:center;overflow:hidden}.hero-bg{position:absolute;inset:0;z-index:0}.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center center}.hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(26,22,19,0.72) 0%,rgba(26,22,19,0.35) 50%,rgba(26,22,19,0.15) 100%),linear-gradient(0deg,rgba(26,22,19,0.95) 0%,rgba(26,22,19,0.4) 12%,transparent 25%)}.hero .container{position:relative;z-index:1;padding-top:3rem;padding-bottom:3.5rem}.hero-content{max-width:720px}.hero-badge{display:inline-flex;align-items:center;gap:0.5rem;background:rgba(255,255,255,0.12);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.15);padding:0.4rem 1rem;border-radius:100px;font-size:0.8125rem;font-weight:500;color:rgba(255,255,255,0.9);margin-bottom:1.75rem;letter-spacing:0.03em}.hero-badge .dot{width:6px;height:6px;border-radius:50%;background:var(--red-light)}.hero h1{font-family:var(--font-serif);font-size:clamp(2.25rem,4.5vw,3.625rem);line-height:1.1;letter-spacing:-0.02em;color:var(--white);margin-bottom:1rem;text-wrap:balance}.hero-desc{font-size:clamp(1rem,1.5vw,1.1875rem);line-height:1.65;color:rgba(255,255,255,0.78);max-width:560px;margin-bottom:2.5rem}.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.hero .btn-primary{background:var(--red);padding:0.9375rem 2rem;font-size:0.9375rem}.hero .btn-primary:hover{background:var(--red-dark);box-shadow:0 8px 24px rgba(180,28,28,0.3)}.hero .btn-outline{border-color:rgba(255,255,255,0.3);color:var(--white)}.hero .btn-outline:hover{border-color:rgba(255,255,255,0.6);background:rgba(255,255,255,0.08);color:var(--white)}.hero-stats{display:flex;gap:clamp(2rem,4vw,4rem);padding-top:1.25rem;border-top:1px solid rgba(255,255,255,0.12)}.hero-stat-number{font-family:var(--font-sans);font-size:clamp(1.5rem,2.5vw,2rem);font-weight:600;color:var(--white);line-height:1.1}.hero-stat-label{font-size:0.8125rem;color:rgba(255,255,255,0.55);margin-top:0.25rem;letter-spacing:0.02em}.spotlight-backdrop{display:none;position:fixed;inset:0;background:rgba(10,8,6,0.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:9000;align-items:flex-start;justify-content:center;padding-top:18vh}.spotlight-backdrop.visible{display:flex;animation:spotlightFadeIn 0.2s ease}@keyframes spotlightFadeIn{from{opacity:0}to{opacity:1}}.spotlight-panel{width:100%;max-width:580px;background:var(--white);border-radius:16px;box-shadow:0 24px 80px rgba(0,0,0,0.3);overflow:hidden;animation:spotlightSlideIn 0.25s cubic-bezier(0.4,0,0.2,1)}@keyframes spotlightSlideIn{from{opacity:0;transform:translateY(-12px) scale(0.98)}to{opacity:1;transform:translateY(0) scale(1)}}.spotlight-header{display:flex;align-items:center;gap:0.75rem;padding:1rem 1.25rem;border-bottom:1px solid var(--stone-200)}.spotlight-header svg{color:var(--stone-400);flex-shrink:0}.spotlight-input{flex:1;border:none;outline:none;font-family:var(--font-sans);font-size:1.0625rem;color:var(--stone-900);background:transparent}.spotlight-input::placeholder{color:var(--stone-400)}.spotlight-kbd{font-size:0.6875rem;font-weight:500;color:var(--stone-500);background:var(--stone-100);padding:0.2rem 0.5rem;border-radius:4px;border:1px solid var(--stone-200);flex-shrink:0}.spotlight-results{max-height:360px;overflow-y:auto}.spotlight-empty{padding:2rem 1.25rem;text-align:center;color:var(--stone-500);font-size:0.9375rem}.spotlight-hint{padding:1rem 1.25rem;text-align:center;color:var(--stone-400);font-size:0.8125rem}.spotlight-item{display:flex;align-items:center;gap:0.875rem;padding:0.75rem 1.25rem;cursor:pointer;transition:background 0.12s;text-decoration:none;color:inherit}.spotlight-item:hover,.spotlight-item.active{background:var(--stone-100)}.spotlight-item img{width:56px;height:42px;object-fit:cover;border-radius:6px;background:var(--stone-100);flex-shrink:0}.spotlight-item-placeholder{width:56px;height:42px;background:var(--stone-200);border-radius:6px;flex-shrink:0}.spotlight-item-info{flex:1;min-width:0}.spotlight-item-name{font-weight:500;font-size:0.9375rem;color:var(--stone-800)}.spotlight-item-meta{font-size:0.75rem;color:var(--stone-500);margin-top:0.125rem}.spotlight-item-actions{display:flex;gap:0.375rem;flex-shrink:0;margin-left:auto}.spotlight-action{font-size:0.6875rem;font-weight:500;padding:0.25rem 0.5rem;border-radius:4px;text-decoration:none;white-space:nowrap;transition:background 0.12s,color 0.12s}.spotlight-action--info{background:var(--stone-100);color:var(--stone-700)}.spotlight-action--info:hover{background:var(--red);color:var(--white)}.spotlight-action--stock{border:1px solid var(--red);color:var(--red);background:transparent}.spotlight-action--stock:hover{background:var(--red);color:var(--white)}.spotlight-footer{padding:0.75rem 1.25rem;border-top:1px solid var(--stone-200);display:flex;justify-content:center;gap:1.5rem}.spotlight-footer-link{font-size:0.8125rem;font-weight:500;text-decoration:none;color:var(--red)}.spotlight-footer-link:hover{text-decoration:underline}.spotlight-footer-link span{display:inline}.section{padding:clamp(3rem,5vw,5rem) 0}.section-label{font-size:0.75rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--red);margin-bottom:0.75rem}.section-title{font-family:var(--font-serif);font-size:clamp(2rem,3.5vw,3rem);line-height:1.15;letter-spacing:-0.015em;color:var(--stone-900);text-wrap:balance}.section-desc{font-size:1.0625rem;line-height:1.7;color:var(--stone-500);max-width:38em;margin-top:1rem}.section-header{margin-bottom:clamp(2.5rem,5vw,4rem)}.categories{background:var(--white)}.categories-grid{display:grid;grid-template-columns:1.2fr 0.8fr;grid-template-rows:auto auto;gap:var(--gap);min-height:560px}.cat-card{position:relative;border-radius:12px;overflow:hidden;background:var(--stone-100);transition:transform 0.4s cubic-bezier(0.4,0,0.2,1)}.cat-card:hover{transform:translateY(-4px)}.cat-card:first-child{grid-row:1 / 3}.cat-card-img{position:absolute;inset:0;z-index:0}.cat-card-img img{width:100%;height:100%;object-fit:cover;transition:transform 0.6s cubic-bezier(0.4,0,0.2,1)}.cat-card:hover .cat-card-img img{transform:scale(1.04)}.cat-card-img::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(26,22,19,0.7) 0%,rgba(26,22,19,0.15) 60%)}.cat-card-content{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:flex-end;height:100%;min-height:260px;padding:clamp(1.5rem,3vw,2.5rem)}.cat-card h3{font-family:var(--font-serif);font-size:clamp(1.5rem,2.5vw,2.25rem);color:var(--white);margin-bottom:0.5rem}.cat-card p{font-size:0.9375rem;color:rgba(255,255,255,0.72);line-height:1.6;max-width:32em;margin-bottom:1.25rem}.cat-card .card-link{display:inline-flex;align-items:center;gap:0.5rem;font-weight:500;font-size:0.875rem;color:var(--white);letter-spacing:0.02em;transition:gap 0.3s}.cat-card:hover .card-link{gap:0.75rem}.card-link .arrow{display:inline-block;transition:transform 0.3s}.cat-card:hover .card-link .arrow{transform:translateX(3px)}.materials{background:var(--stone-50)}.materials-header{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:1.5rem}.materials-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap)}.verarbeiter{background:var(--stone-100)}.verarbeiter-layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);min-height:480px}.verarbeiter-map{border-radius:12px;overflow:hidden;min-height:480px;background:var(--stone-200)}.verarbeiter-map #map{width:100%;height:100%;min-height:480px;z-index:0;position:relative;isolation:isolate}.verarbeiter-sidebar{display:flex;flex-direction:column}.verarbeiter-search{position:relative;margin-bottom:1rem}.verarbeiter-search input{width:100%;padding:0.75rem 1rem 0.75rem 2.75rem;border:1.5px solid var(--stone-200);border-radius:10px;font-family:var(--font-sans);font-size:0.9375rem;background:var(--white);outline:none;transition:border-color 0.2s}.verarbeiter-search input:focus{border-color:var(--red)}.verarbeiter-search input::placeholder{color:var(--stone-400)}.verarbeiter-search svg{position:absolute;left:0.875rem;top:50%;transform:translateY(-50%);color:var(--stone-400);pointer-events:none}.partner-list{flex:1;overflow-y:auto;max-height:400px;display:flex;flex-direction:column;gap:0.5rem}.partner-card{background:var(--white);border:1px solid var(--stone-200);border-radius:10px;padding:1rem;cursor:pointer;transition:all 0.2s}.partner-card:hover,.partner-card.active{border-color:var(--red);box-shadow:0 2px 12px rgba(180,28,28,0.08)}.partner-card h4{font-weight:600;font-size:0.9375rem;color:var(--stone-800);margin-bottom:0.25rem}.partner-card p{font-size:0.8125rem;color:var(--stone-500);line-height:1.5}.partner-card-actions{display:flex;gap:0.75rem;margin-top:0.5rem}.partner-card-actions a{font-size:0.75rem;font-weight:500;color:var(--red)}.partner-card-actions a:hover{text-decoration:underline}.partner-count{font-size:0.8125rem;color:var(--stone-500);margin-bottom:0.75rem}.partner-list::-webkit-scrollbar{width:6px}.partner-list::-webkit-scrollbar-track{background:var(--stone-100);border-radius:3px}.partner-list::-webkit-scrollbar-thumb{background:var(--stone-300);border-radius:3px}.partner-list::-webkit-scrollbar-thumb:hover{background:var(--stone-400)}.partner-list{scrollbar-width:thin;scrollbar-color:var(--stone-300) var(--stone-100)}.spotlight-results::-webkit-scrollbar{width:6px}.spotlight-results::-webkit-scrollbar-track{background:transparent}.spotlight-results::-webkit-scrollbar-thumb{background:var(--stone-200);border-radius:3px}.spotlight-results::-webkit-scrollbar-thumb:hover{background:var(--stone-300)}.spotlight-results{scrollbar-width:thin;scrollbar-color:var(--stone-200) transparent}@media (max-width:1024px){.verarbeiter-layout{grid-template-columns:1fr}}.services{background:var(--stone-900);color:var(--white);position:relative;overflow:hidden}.services::before{content:'';position:absolute;top:-200px;right:-200px;width:600px;height:600px;background:radial-gradient(circle,rgba(180,28,28,0.08),transparent 70%);pointer-events:none}.services .section-label{color:var(--red-light)}.services .section-title{color:var(--white)}.services .section-desc{color:var(--stone-400)}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap)}.service-card{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:12px;padding:clamp(1.5rem,2.5vw,2.25rem);transition:all 0.35s}.service-card:hover{background:rgba(255,255,255,0.07);border-color:rgba(255,255,255,0.14);transform:translateY(-3px)}.service-icon{width:48px;height:48px;border-radius:10px;background:rgba(180,28,28,0.15);display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;color:var(--red-light);font-size:1.25rem}.service-card h3{font-family:var(--font-serif);font-size:1.375rem;color:var(--white);margin-bottom:0.625rem}.service-card p{font-size:0.9375rem;color:var(--stone-400);line-height:1.65;margin-bottom:1.25rem}.service-link{display:inline-flex;align-items:center;gap:0.4rem;font-size:0.875rem;font-weight:500;color:var(--red-light);transition:gap 0.3s}.service-link:hover{gap:0.7rem}.heritage{background:var(--white);border-top:1px solid var(--stone-200);border-bottom:1px solid var(--stone-200)}.heritage-inner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center}.heritage-text h2{font-family:var(--font-serif);font-size:clamp(2rem,3.5vw,2.75rem);line-height:1.15;color:var(--stone-900);margin-bottom:1.25rem}.heritage-text p{font-size:1.0625rem;line-height:1.7;color:var(--stone-500);margin-bottom:1.5rem}.heritage-text p + p{margin-bottom:2rem}.heritage-img{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:4 / 3;background:var(--stone-100)}.heritage-img img{width:100%;height:100%;object-fit:cover}.heritage-img .overlay-stat{position:absolute;bottom:1.5rem;left:1.5rem;background:rgba(26,22,19,0.8);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,0.1);padding:1rem 1.5rem;border-radius:10px;color:var(--white)}.overlay-stat-number{font-family:var(--font-sans);font-weight:600;font-size:1.5rem;line-height:1.1}.overlay-stat-label{font-size:0.75rem;color:rgba(255,255,255,0.6);margin-top:0.125rem}.partners{background:var(--stone-50)}.partners-row{display:flex;align-items:center;justify-content:center;gap:clamp(2.5rem,5vw,5rem);flex-wrap:wrap;padding:2rem 0}.partner-logo{font-family:var(--font-sans);font-weight:600;font-size:1.125rem;color:var(--stone-400);letter-spacing:0.06em;text-transform:uppercase;transition:color 0.3s;white-space:nowrap}.partner-logo:hover{color:var(--stone-700)}.cta-section{background:var(--stone-100);position:relative}.cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:start}.cta-form{background:var(--white);border-radius:12px;padding:clamp(1.5rem,3vw,2.5rem);border:1px solid var(--stone-200);box-shadow:0 4px 24px rgba(42,36,30,0.05)}.cta-options{display:flex;flex-direction:column;gap:1.25rem}.cta-option-card{display:flex;gap:1.5rem;padding:1.75rem 2rem;background:var(--white);border:1px solid var(--stone-200);border-radius:12px;text-decoration:none;color:inherit;transition:border-color 0.2s,box-shadow 0.2s,transform 0.2s}.cta-option-card:hover{border-color:var(--red);box-shadow:0 8px 32px rgba(42,36,30,0.08);transform:translateY(-2px)}.cta-option-icon{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--stone-50);border-radius:10px;color:var(--red)}.cta-option-body h3{font-family:var(--font-serif);font-size:1.25rem;color:var(--stone-900);margin:0 0 0.375rem}.cta-option-body p{font-size:0.9375rem;color:var(--stone-500);margin:0 0 1rem;line-height:1.5}.cta-option-body .btn{display:inline-flex}.cta-form h3{font-family:var(--font-serif);font-size:1.5rem;color:var(--stone-900);margin-bottom:0.5rem}.cta-form>p{font-size:0.9375rem;color:var(--stone-500);margin-bottom:1.75rem;line-height:1.6}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:0.8125rem;font-weight:500;color:var(--stone-700);margin-bottom:0.375rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:0.625rem 0.875rem;border:1.5px solid var(--stone-200);border-radius:8px;font-family:var(--font-sans);font-size:0.9375rem;color:var(--stone-800);background:var(--stone-50);transition:border-color 0.2s,box-shadow 0.2s;outline:none}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(180,28,28,0.08)}.form-group textarea{resize:vertical;min-height:100px}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--stone-400)}.form-submit{margin-top:0.5rem}.form-submit .btn-primary{width:100%;justify-content:center;padding:0.8125rem 2rem}.cta-info h3{font-family:var(--font-serif);font-size:1.5rem;color:var(--stone-900);margin-bottom:1.5rem}.location-cards-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.875rem;margin-bottom:1rem}@media (max-width:540px){.location-cards-grid{grid-template-columns:1fr}}.location-card{background:var(--white);border:1px solid var(--stone-200);border-radius:10px;padding:1.25rem}.location-card h4{font-weight:600;font-size:0.9375rem;color:var(--stone-800);margin-bottom:0.625rem}.location-card p{font-size:0.875rem;color:var(--stone-500);line-height:1.6;margin:0}.location-card .loc-detail{display:flex;align-items:flex-start;gap:0.5rem;margin-bottom:0.375rem}.location-card .loc-detail:last-child{margin-bottom:0}.location-card .loc-icon{flex-shrink:0;width:16px;height:16px;margin-top:2px;color:var(--stone-400)}.location-card a{color:var(--stone-700);text-decoration:none;transition:color 0.15s}.location-card a:hover{color:var(--accent,#b5432e)}.hours-badge{display:inline-flex;align-items:center;gap:0.375rem;font-size:0.8125rem;font-weight:500;color:var(--stone-600);background:var(--stone-100);padding:0.5rem 1rem;border-radius:6px;margin-top:1rem}.hours-badge .dot-green{width:7px;height:7px;border-radius:50%;background:#3a9e5c}.footer{background:var(--stone-900);color:var(--stone-400);padding:clamp(3rem,6vw,5rem) 0 0}.footer-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:clamp(1.5rem,3vw,3rem);padding-bottom:clamp(2.5rem,5vw,4rem);border-bottom:1px solid rgba(255,255,255,0.08)}.footer-grid--no-newsletter{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr)}.footer-brand .logo{margin-bottom:1rem}.footer-brand p{font-size:0.9375rem;line-height:1.65;color:var(--stone-500);max-width:28em;margin-bottom:1.5rem}.footer-social{display:flex;gap:0.5rem}.footer-social a{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid rgba(255,255,255,0.1);color:var(--stone-500);font-size:0.75rem;transition:all 0.2s}.footer-social a:hover{border-color:rgba(255,255,255,0.25);color:var(--white)}.footer-col h4{font-weight:600;font-size:0.8125rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--stone-300);margin-bottom:1.25rem}.footer-col ul{list-style:none}.footer-col li{margin-bottom:0.625rem}.footer-col a{font-size:0.9375rem;color:var(--stone-500);transition:color 0.2s}.footer-col a:hover{color:var(--white)}.footer-newsletter{margin-top:0.5rem;width:100%}.newsletter-form{display:flex;gap:0.5rem;width:100%}.newsletter-form[hidden],.newsletter-consent[hidden]{display:none}.newsletter-form input{flex:1;padding:0.5625rem 0.875rem;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.12);border-radius:6px;color:var(--white);font-family:var(--font-sans);font-size:0.875rem;outline:none;transition:border-color 0.2s}.newsletter-form input::placeholder{color:var(--stone-600)}.newsletter-form input:focus{border-color:rgba(255,255,255,0.3)}.newsletter-form button{padding:0.5625rem 1.25rem;background:var(--red);color:var(--white);border-radius:6px;font-weight:500;font-size:0.875rem;transition:background 0.2s}.newsletter-form button:hover{background:var(--red-dark)}.newsletter-form button:disabled{opacity:0.6;cursor:not-allowed}.newsletter-consent{display:flex;align-items:flex-start;gap:0.5rem;margin-top:0;max-height:0;opacity:0;overflow:hidden;pointer-events:none;font-size:0.75rem;line-height:1.5;color:var(--stone-500);cursor:pointer;transition:opacity 0.35s ease,max-height 0.4s ease,margin-top 0.4s ease}.newsletter-consent[data-revealed="true"]{max-height:100px;opacity:1;margin-top:0.75rem;pointer-events:auto}@media (prefers-reduced-motion:reduce){.newsletter-consent{transition:none}}.newsletter-consent input[type="checkbox"]{flex-shrink:0;margin-top:0.15rem;width:14px;height:14px;accent-color:var(--red);cursor:pointer}.newsletter-consent a{color:var(--stone-400);text-decoration:underline}.newsletter-consent a:hover{color:var(--white)}.newsletter-msg{margin-top:0.625rem;font-size:0.8125rem;line-height:1.5}.newsletter-msg[data-state="success"]{color:#7bc28a}.newsletter-msg[data-state="error"]{color:#f39b9b}.newsletter-success{display:flex;align-items:flex-start;gap:0.875rem;padding:1rem 1rem 1.125rem 1rem;width:100%;box-sizing:border-box;background:rgba(123,194,138,0.08);border:1px solid rgba(123,194,138,0.25);border-radius:8px;opacity:0;transform:translateY(6px);transition:opacity 0.45s ease,transform 0.45s cubic-bezier(0.2,0.9,0.3,1.2)}.newsletter-success.is-visible{opacity:1;transform:none}.newsletter-success-icon{flex-shrink:0;width:36px;height:36px;border-radius:50%;background:rgba(123,194,138,0.18);display:inline-flex;align-items:center;justify-content:center;color:#7bc28a}.newsletter-success-text{display:flex;flex-direction:column;gap:0.25rem;font-size:0.8125rem;line-height:1.55;color:var(--stone-300)}.newsletter-success-text strong{color:var(--white);font-weight:500;font-size:0.875rem;letter-spacing:-0.005em}@media (prefers-reduced-motion:reduce){.newsletter-success{transition:none}}.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;padding:1.5rem 0;font-size:0.8125rem;color:var(--stone-600)}.footer-legal{display:flex;gap:1.5rem}.footer-legal a{color:var(--stone-600);transition:color 0.2s}.footer-legal a:hover{color:var(--stone-400)}body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:0.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px}@media (max-width:1024px){.nav-main{display:none}.nav-toggle{display:flex}.categories-grid{grid-template-columns:1fr;grid-template-rows:auto}.cat-card:first-child{grid-row:auto}.materials-grid{grid-template-columns:repeat(2,1fr)}.services-grid{grid-template-columns:1fr}.heritage-inner{grid-template-columns:1fr}.cta-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}}@media (max-width:640px){.hero{min-height:55vh}.hero-stats{flex-direction:column;gap:1rem}.materials-grid{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.topbar-left{display:none}.partners-row{gap:1.5rem}.header .container{height:64px;gap:0.75rem;padding:0 1rem}.logo img{height:30px}.nav-actions .btn-primary{display:none}.mobile-nav{padding-top:64px}.hero h1{font-size:2rem}.hero-desc{font-size:0.9375rem}}@media (max-width:640px){.mobile-nav{padding-top:54px;margin-top:40px}.topbar{padding:0.375rem 0}.topbar-left{display:none}.topbar .container{justify-content:center}.topbar-right{gap:0.75rem}.topbar-right .topbar-phone-mobile{display:inline}.topbar-right a:last-child{display:none}.mat-section-nav,.mw-section-nav,.anchor-nav,.mat-filter-bar{top:65px!important}}@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-up{opacity:0;animation:fadeUp 0.7s cubic-bezier(0.4,0,0.2,1) forwards}.fade-up-d1{animation-delay:0.1s}.fade-up-d2{animation-delay:0.2s}.fade-up-d3{animation-delay:0.3s}.fade-up-d4{animation-delay:0.4s}.will-animate{opacity:0;transform:translateY(28px);transition:opacity 0.7s cubic-bezier(0.16,1,0.3,1),transform 0.7s cubic-bezier(0.16,1,0.3,1)}.will-animate.is-visible{opacity:1;transform:translateY(0)}.cat-card:hover{transform:translateY(-4px)}.cat-card:hover .cat-card-img img{transform:scale(1.04)}.cat-card:hover .card-link{gap:0.75rem}.cat-card:hover .card-link .arrow{transform:translateX(3px)}.service-card:hover{background:rgba(255,255,255,0.07);border-color:rgba(255,255,255,0.14);transform:translateY(-3px)}.service-link:hover{gap:0.7rem}.cta-dark{background:var(--stone-900);color:var(--white);position:relative;overflow:hidden}.cta-dark::before{content:'';position:absolute;top:-200px;right:-200px;width:600px;height:600px;background:radial-gradient(circle,rgba(180,28,28,0.08),transparent 70%);pointer-events:none}.cta-dark .cta-content,.cta-dark .cta-dark-inner{position:relative;text-align:center;max-width:640px;margin:0 auto}.cta-dark .section-label{color:var(--red-light)}.cta-dark h2{color:var(--white);margin-bottom:1rem}.cta-dark .cta-desc,.cta-dark .cta-dark-desc{font-size:1.0625rem;line-height:1.7;color:var(--stone-400);margin-top:0.5rem;margin-bottom:2.5rem}.cta-dark .cta-actions,.cta-dark .cta-dark-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:1rem}@media (max-width:640px){.cta-dark .cta-actions,.cta-dark .cta-dark-actions{flex-direction:column;align-items:center}}.consent-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;height:100%;min-height:240px;padding:1.75rem 1.5rem;text-align:center;background:var(--stone-50);border:1px dashed var(--stone-300);border-radius:12px;box-sizing:border-box}.consent-fallback p{color:var(--stone-600);font-size:0.9375rem;line-height:1.55;max-width:34em;margin:0}.consent-fallback .consent-actions{display:flex;gap:0.75rem;flex-wrap:wrap;justify-content:center}.lightbox{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center}.lightbox[hidden]{display:none}.lightbox-backdrop{position:absolute;inset:0;background:rgba(0,0,0,0.9);backdrop-filter:blur(8px)}.lightbox-img-wrap{position:relative;max-width:90vw;max-height:85vh;display:flex;align-items:center;justify-content:center}.lightbox-img-wrap img{max-width:100%;max-height:85vh;object-fit:contain;border-radius:4px}.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;z-index:10;background:none;border:none;color:var(--white);cursor:pointer;transition:opacity 0.2s,transform 0.2s;opacity:0.7}.lightbox-close:hover,.lightbox-prev:hover,.lightbox-next:hover{opacity:1}.lightbox-close{top:1.5rem;right:1.5rem;font-size:2.5rem;line-height:1;padding:0.5rem}.lightbox-prev,.lightbox-next{top:50%;transform:translateY(-50%);font-size:3rem;padding:1rem}.lightbox-prev{left:1rem}.lightbox-next{right:1rem}.lightbox-prev:hover{transform:translateY(-50%) translateX(-2px)}.lightbox-next:hover{transform:translateY(-50%) translateX(2px)}.lightbox-counter{position:absolute;bottom:1.5rem;left:50%;transform:translateX(-50%);z-index:10;color:var(--white);font-size:0.875rem;opacity:0.7;margin:0}[data-lightbox]{cursor:zoom-in;display:block;border:0;padding:0;background:none}[data-lightbox] img{transition:opacity 0.2s}[data-lightbox]:hover img{opacity:0.92}