:root{--lauffer-green: #8cc63f;--lauffer-grey: #707173;--lauffer-stone-grey: #79868b;--lauffer-brown: #7b4833;--primary-rgb: 140, 198, 63;--stone-rgb: 121, 134, 139;--brown-rgb: 123, 72, 51;--primary: var(--lauffer-green);--primary-light: #a6d86a;--primary-dark: #6aa427;--accent: rgba(var(--primary-rgb), .85);--bg-dark: #0f1110;--bg-surface: #131614;--text-main: rgba(240, 242, 240, .92);--text-muted: rgba(240, 242, 240, .66);--border-light: rgba(240, 242, 240, .14);--focus-ring: rgba(var(--primary-rgb), .28);--coal-grey: #2c2c2c;--coal-grey-dark: #1f1f1f;--coal-grey-light: #3a3a3a;--grey-primary: var(--lauffer-grey);--brown-primary: var(--lauffer-brown);--forest-green: var(--primary-dark);--forest-green-dark: #4f7a10;--forest-green-light: var(--primary);--white: #ffffff;--black: #0f1110;--grey-light: #f5f5f5}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text-main);background-color:var(--bg-dark);color-scheme:dark}#root{min-height:100vh}::selection{background:rgba(var(--primary-rgb),.25)}:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.footer{background-color:#0f1110;background:radial-gradient(900px circle at 15% 0%,rgba(var(--primary-rgb),.1),transparent 55%),radial-gradient(700px circle at 85% 110%,rgba(var(--brown-rgb),.1),transparent 60%),var(--bg-dark, #0f1110);color:var(--text-main, rgba(240, 242, 240, .92));padding:4rem 2rem 2rem;margin-top:auto;border-top:1px solid var(--border-light, rgba(240, 242, 240, .14))}.footer-container{max-width:1400px;margin:0 auto}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:3rem;margin-bottom:3rem}.footer-section h3{color:var(--text-main, rgba(240, 242, 240, .92));font-size:1.5rem;font-weight:700;margin-bottom:1rem}.footer-section h4{color:var(--text-main, rgba(240, 242, 240, .92));font-size:1.2rem;font-weight:600;margin-bottom:1rem;text-transform:uppercase;letter-spacing:.5px}.footer-section p{color:var(--text-muted, rgba(240, 242, 240, .72));line-height:1.6;font-size:.95rem}.footer-section ul{list-style:none;padding:0}.footer-section ul li{margin-bottom:.8rem;color:var(--text-muted, rgba(240, 242, 240, .72));font-size:.95rem}.footer-section a{color:var(--text-muted, rgba(240, 242, 240, .72));text-decoration:none;transition:color .3s ease}.footer-section a:hover{color:var(--primary, #8cc63f);opacity:1}.cookie-settings-btn{background:none;border:none;color:var(--text-muted, rgba(240, 242, 240, .72));cursor:pointer;padding:0;font-size:.95rem;text-align:left;transition:color .3s ease;font-family:inherit}.cookie-settings-btn:hover{color:var(--primary, #8cc63f);opacity:1}.footer-bottom{border-top:1px solid rgba(240,242,240,.14);padding-top:2rem;text-align:center}.footer-bottom p{color:#f0f2f08c;font-size:.9rem}@media (max-width: 768px){.footer{padding:3rem 1.5rem 1.5rem}.footer-content{grid-template-columns:1fr;gap:2rem;margin-bottom:2rem}}.cookie-banner{position:fixed;bottom:0;left:0;right:0;background-color:var(--white);box-shadow:0 -4px 20px #00000026;z-index:10000;border-top:3px solid var(--forest-green)}.cookie-content{max-width:1200px;margin:0 auto;padding:2rem}.cookie-header h3{color:var(--grey-primary);font-size:1.5rem;font-weight:700;margin-bottom:1rem}.cookie-content p{color:var(--grey-primary);line-height:1.6;margin-bottom:1.5rem;font-size:.95rem}.location-notice{background:rgba(var(--primary-rgb),.1);border:1px solid rgba(var(--primary-rgb),.3);border-radius:8px;padding:12px;margin:15px 0;font-size:.9rem;color:#555}.location-notice strong{color:var(--forest-green)}.cookie-buttons{display:flex;gap:1rem;flex-wrap:wrap}.cookie-btn{padding:.8rem 1.8rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;border:none;font-family:inherit}.cookie-btn-primary{background-color:var(--forest-green);color:var(--white)}.cookie-btn-primary:hover{background-color:var(--forest-green-dark);transform:translateY(-2px)}.cookie-btn-secondary{background-color:var(--grey-light);color:var(--grey-primary);border:2px solid var(--grey-primary)}.cookie-btn-secondary:hover{background-color:var(--grey-primary);color:var(--white)}.cookie-btn-text{background:none;color:var(--grey-primary);text-decoration:underline}.cookie-btn-text:hover{color:var(--forest-green)}.cookie-settings{margin-bottom:1.5rem}.cookie-option{margin-bottom:1rem;padding:1rem;background-color:var(--grey-light);border-radius:8px}.cookie-option label{display:flex;gap:1rem;cursor:pointer;align-items:flex-start}.cookie-option input[type=checkbox]{margin-top:.2rem;width:20px;height:20px;cursor:pointer}.cookie-option input[type=checkbox]:disabled{cursor:not-allowed}.cookie-option strong{color:var(--grey-primary);display:block;margin-bottom:.3rem}.cookie-option p{color:var(--grey-primary);font-size:.9rem;margin:0;line-height:1.4}@media (max-width: 768px){.cookie-content{padding:1.5rem}.cookie-header h3{font-size:1.3rem}.cookie-buttons{flex-direction:column}.cookie-btn{width:100%;text-align:center}}.contact{flex:1;background:var(--bg-dark)}.contact-hero{padding:7rem 0 5rem;border-bottom:1px solid var(--border-light)}.contact-hero-inner{max-width:1200px;margin:0 auto;padding:0 2rem}.contact-kicker{font-family:Manrope,sans-serif;font-size:.85rem;text-transform:uppercase;letter-spacing:.28em;color:var(--accent);margin:0 0 1rem}.contact-title{font-family:Cormorant Garamond,serif;font-size:clamp(3rem,6vw,5.5rem);font-weight:300;line-height:1.05;margin:0;color:var(--text-main);letter-spacing:-.02em}.contact-title-accent{color:var(--primary);font-style:italic;font-weight:400}.contact-lead{margin:1.5rem 0 0;max-width:75ch;font-family:Manrope,sans-serif;color:var(--text-muted);font-size:1.05rem;line-height:1.9;font-weight:300}.contact-content{padding:6rem 2rem;background:var(--bg-dark)}.contact-container{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem}.info-card{background:#ffffff05;border-radius:10px;padding:3rem;box-shadow:0 16px 50px #00000059;border:1px solid var(--border-light);height:fit-content}.info-header{margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid var(--border-light)}.info-icon{font-size:3rem;margin-bottom:1rem}.info-card h2{color:var(--text-main);font-size:2.5rem;font-weight:300;margin-bottom:.5rem}.info-subtitle{color:var(--text-muted);font-size:1.1rem;font-weight:300}.contact-methods{margin-bottom:3rem}.contact-method{display:flex;align-items:flex-start;gap:1.5rem;padding:1.5rem;border-radius:15px;transition:all .3s ease;cursor:pointer}.contact-method:hover{background:#ffffff08;transform:translate(5px)}.method-icon{font-size:1.5rem;margin-top:.2rem}.method-content h4{color:var(--text-main);font-size:1.1rem;font-weight:600;margin-bottom:.5rem}.method-content p{color:var(--text-muted);font-size:1rem;line-height:1.5;margin:0}.method-content a{color:#f0f2f0e0;text-decoration:none;font-weight:500}.method-content a:hover{text-decoration:none;color:var(--primary-light)}.contact-hours{background:#ffffff05;border:1px solid var(--border-light);color:var(--text-main);padding:2rem;border-radius:10px}.contact-hours h4{font-size:1.2rem;font-weight:600;margin-bottom:1.5rem;text-align:center}.hours-list{display:flex;flex-direction:column;gap:.8rem}.hours-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--border-light)}.hours-item:last-child{border-bottom:none}.hours-item span:first-child{font-weight:600}.hours-item span:last-child{opacity:.9}.form-card{background:#ffffff05;border-radius:10px;padding:3rem;box-shadow:0 16px 50px #00000059;border:1px solid var(--border-light)}.form-header{text-align:center;margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid var(--border-light)}.form-header h2{color:var(--text-main);font-size:2.5rem;font-weight:300;margin-bottom:1rem}.form-header p{color:var(--text-muted);font-size:1.1rem;line-height:1.6;font-weight:300}.contact-form{display:flex;flex-direction:column;gap:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.form-group{display:flex;flex-direction:column}.form-group label{color:#f0f2f0e0;font-weight:600;margin-bottom:.5rem;font-size:.95rem}.form-group input,.form-group select,.form-group textarea{padding:1rem 1.5rem;border:1px solid var(--border-light);border-radius:10px;font-size:1rem;transition:all .3s ease;background:#ffffff08;color:var(--text-main)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:rgba(var(--primary-rgb),.45);background:#ffffff0a;box-shadow:0 0 0 3px rgba(var(--primary-rgb),.22)}.form-group textarea{resize:vertical;min-height:120px}.form-message{padding:1rem 1.5rem;border-radius:12px;margin-bottom:1.5rem;font-size:1rem;line-height:1.6;font-weight:500}.form-message.success{background-color:rgba(var(--primary-rgb),.12);border:1px solid rgba(var(--primary-rgb),.35);color:var(--text-main)}.form-message.error{background-color:#dc35451a;border:2px solid #dc3545;color:#dc3545}.submit-btn{background:transparent;color:var(--text-main);border:1px solid rgba(240,242,240,.22);padding:1.2rem 2rem;border-radius:10px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.8rem;margin-top:1rem;letter-spacing:.12em;text-transform:uppercase}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.submit-btn:hover{transform:translateY(-2px);background:#ffffff0f;border-color:rgba(var(--primary-rgb),.35);box-shadow:0 16px 50px #00000059}.btn-arrow{font-size:1.2rem;transition:transform .3s ease}.submit-btn:hover .btn-arrow{transform:translate(5px)}.contact-map-section{padding:40px 0 60px;background:linear-gradient(135deg,#f8f9fa,#e9ecef)}.contact-map-wrapper{max-width:1200px;margin:0 auto;padding:0 20px}.contact-map-container{position:relative;width:100%;height:60vh;min-height:400px;border-radius:15px;overflow:hidden;box-shadow:0 10px 30px #00000026;background:#fff}.map-overlay{position:absolute;top:30px;left:30px;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:15px;padding:25px;max-width:280px;border:1px solid rgba(0,0,0,.1);box-shadow:0 4px 12px #00000026}.overlay-content h3{color:var(--coal-grey);font-size:1.3rem;font-weight:600;margin-bottom:12px}.overlay-content p{font-size:1rem;line-height:1.5;margin-bottom:8px;opacity:.9;color:#333}.contact-info{margin-top:15px;padding-top:15px;border-top:1px solid rgba(0,0,0,.1)}.contact-info p{margin:6px 0;font-size:.9rem;display:flex;align-items:center;gap:8px}@media (max-width: 1024px){.contact-container{grid-template-columns:1fr;gap:3rem}}@media (max-width: 768px){.contact-hero-inner{padding:0 1.5rem}.contact-content{padding:4rem 1rem}.info-card,.form-card{padding:2rem}.form-row{grid-template-columns:1fr}.contact-map-section{padding:30px 0 40px}.contact-map-wrapper{padding:0 15px}.contact-map-container{height:50vh;min-height:350px;border-radius:12px}.map-overlay{margin:15px auto 0;padding:20px}.overlay-content h3{font-size:1.2rem}}@media (max-width: 480px){.info-card,.form-card{padding:1.5rem}.contact-method{padding:1rem;gap:1rem}.contact-map-section{padding:20px 0 30px}.contact-map-container{height:45vh;min-height:300px;border-radius:10px}.map-overlay{padding:15px}.overlay-content h3{font-size:1.1rem}}.legal{flex:1}.legal-hero{background:linear-gradient(135deg,var(--grey-primary) 0%,var(--brown-primary) 100%);padding:4rem 2rem 3rem;text-align:center;color:var(--white)}.legal-hero h1{font-size:3rem;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.legal-content{padding:4rem 2rem;background-color:var(--white)}.legal-container{max-width:900px;margin:0 auto}.legal-container h2{color:var(--coal-grey);font-size:1.8rem;font-weight:700;margin-top:2.5rem;margin-bottom:1rem}.legal-container h3{color:var(--grey-primary);font-size:1.3rem;font-weight:600;margin-top:1.5rem;margin-bottom:.8rem}.legal-container p{color:var(--grey-primary);line-height:1.8;margin-bottom:1.2rem;font-size:1rem}.legal-container a{color:var(--coal-grey);text-decoration:none;transition:color .3s ease}.legal-container a:hover{color:var(--brown-primary);text-decoration:underline}.legal-container strong{color:var(--grey-primary);font-weight:600}.legal-updated{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--grey-light);font-size:.9rem;color:#6d7378b3}@media (max-width: 768px){.legal-hero{padding:3rem 1.5rem 2rem}.legal-hero h1{font-size:2.2rem}.legal-content{padding:3rem 1.5rem}.legal-container h2{font-size:1.5rem}.legal-container h3{font-size:1.2rem}}.under-construction{flex:1;background:var(--bg-dark)}.under-construction-hero{padding:7rem 0 5rem;border-bottom:1px solid var(--border-light)}.under-construction-inner{max-width:1000px;margin:0 auto;padding:0 2rem;text-align:center}.under-construction-logo{width:min(240px,70vw);height:auto;margin:0 auto 2rem;display:block;filter:drop-shadow(0 12px 30px rgba(0,0,0,.35))}.under-construction-kicker{font-family:Manrope,sans-serif;font-size:.85rem;text-transform:uppercase;letter-spacing:.28em;color:var(--accent);margin:0 0 1rem}.under-construction-title{font-family:Cormorant Garamond,serif;font-size:clamp(2.6rem,6vw,4.6rem);font-weight:300;line-height:1.08;margin:0;color:var(--text-main);letter-spacing:-.02em}.under-construction-lead{margin:1.25rem auto 0;max-width:70ch;font-family:Manrope,sans-serif;color:var(--text-muted);font-size:1.05rem;line-height:1.9;font-weight:300}.under-construction-actions{margin-top:2.25rem;display:flex;justify-content:center}.under-construction-cta{display:inline-flex;align-items:center;justify-content:center;padding:1.1rem 1.9rem;border-radius:12px;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-family:Manrope,sans-serif;font-size:.85rem;font-weight:600;color:var(--text-main);border:1px solid rgba(var(--primary-rgb),.42);background:rgba(var(--primary-rgb),.08);transition:transform .2s ease,background .2s ease,border-color .2s ease}.under-construction-cta:hover{transform:translateY(-2px);background:rgba(var(--primary-rgb),.14);border-color:rgba(var(--primary-rgb),.6)}@media (max-width: 768px){.under-construction-hero{padding:6rem 0 4rem}}.app{min-height:100vh;display:flex;flex-direction:column}main{flex:1}
