:root{--primary-color: #2c5234;--secondary-color: #8fbc8f;--accent-color: #d4af37;--text-dark: #2c3e50;--text-light: #7f8c8d;--background-light: #fafafa;--background-white: #ffffff;--shadow: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .15)}.open-house-banner{background:linear-gradient(45deg,var(--accent-color),#f4d03f);color:#fff;padding:1rem 1.5rem;text-align:center;position:absolute;top:180px;left:50%;transform:translate(-50%);z-index:1001;box-shadow:0 4px 8px #0000004d;border-radius:12px;animation:slideDown .5s ease-out;max-width:90%;width:auto;min-width:320px}.banner-content{display:flex;justify-content:center;align-items:center;gap:.75rem;font-weight:600;font-size:1.1rem;line-height:1.2}.banner-emoji{font-size:1.4rem;display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem}.banner-text{text-shadow:1px 1px 2px rgba(0,0,0,.3)}@keyframes slideDown{0%{transform:translate(-50%) translateY(-100%);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-5px)}60%{transform:translateY(-3px)}}@media (max-width: 480px){.open-house-banner{padding:.75rem 1rem;top:100px;max-width:95%;min-width:280px}.banner-content{font-size:1rem;gap:.5rem}.banner-emoji{font-size:1.2rem;min-width:1.2rem}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,sans-serif;line-height:1.6;color:var(--text-dark);background-color:var(--background-white)}.container{max-width:1200px;margin:0 auto;padding:0 20px}.hero{background:linear-gradient(#2c5234b3,#2c523480),url(/hero.jpg);background-size:cover;background-position:center;background-attachment:fixed;min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;position:relative;overflow:hidden}.hero-content{margin-top:4rem}.hero-content h1{font-family:Playfair Display,serif;font-size:clamp(2.5rem,5vw,4rem);font-weight:700;color:#fff;margin-bottom:1rem;line-height:1.2;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.hero-subtitle{font-size:1.25rem;color:#ffffffe6;margin-bottom:2rem;font-weight:400;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.address-link{color:var(--accent-color);text-decoration:none;font-weight:500;transition:all .3s ease;border-bottom:1px solid transparent}.address-link:hover{color:#fff;border-bottom:1px solid var(--accent-color);text-shadow:0 0 8px rgba(212,175,55,.6)}.hero-features{display:flex;gap:2rem;flex-wrap:wrap;justify-content:center;margin-bottom:3rem}.hero-features span{background:#fffffff2;padding:.75rem 1.5rem;border-radius:50px;box-shadow:var(--shadow-lg);font-weight:500;color:var(--primary-color);white-space:nowrap;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.hero-gallery{width:100%;max-width:800px;margin-top:2rem}.gallery-placeholder{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border:2px dashed var(--secondary-color);border-radius:12px;padding:3rem;color:var(--text-light);font-size:1.1rem;margin:1rem 0;cursor:pointer;transition:all .3s ease;text-align:center}.gallery-placeholder:hover{border-color:var(--primary-color);background:linear-gradient(135deg,#e8f5e8,#d1e7dd);transform:translateY(-2px)}.gallery-placeholder:before{content:"📸";display:block;font-size:2rem;margin-bottom:1rem}.overview{padding:5rem 0;background:var(--background-white)}.overview h2{font-family:Playfair Display,serif;font-size:2.5rem;text-align:center;margin-bottom:3rem;color:var(--primary-color)}.overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;margin-top:2rem}.overview-card{background:var(--background-light);padding:2rem;border-radius:12px;box-shadow:var(--shadow);transition:transform .3s ease,box-shadow .3s ease}.overview-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.overview-card h3{font-family:Playfair Display,serif;font-size:1.5rem;margin-bottom:1.5rem;color:var(--primary-color)}.overview-card ul{list-style:none}.overview-card li{border-bottom:1px solid #e0e0e0;position:relative;padding:.5rem 0 .5rem 1.5rem}.overview-card li:last-child{border-bottom:none}.overview-card li:before{content:"✓";position:absolute;left:0;color:var(--secondary-color);font-weight:700}.septic-callout{background:var(--primary-color);color:#fff;padding:1rem;margin:1rem 0;border-radius:8px;text-align:center;box-shadow:var(--shadow);border:2px solid var(--accent-color)}.septic-callout h4{margin:0 0 .5rem;font-size:1.1rem;font-weight:600;color:var(--accent-color)}.septic-callout p{margin:0;font-size:.9rem;line-height:1.4;color:#fff}.opportunities{padding:5rem 0;background:var(--background-light)}.opportunities h2{font-family:Playfair Display,serif;font-size:2.5rem;text-align:center;margin-bottom:3rem;color:var(--primary-color)}.opportunities-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.opportunity-card{background:var(--background-white);padding:2.5rem;border-radius:12px;box-shadow:var(--shadow);text-align:center;transition:transform .3s ease}.opportunity-card:hover{transform:translateY(-5px)}.opportunity-card.wide{grid-column:span 2}.opportunity-card h3{font-family:Playfair Display,serif;font-size:1.4rem;margin-bottom:1rem;color:var(--primary-color)}.opportunity-card p{color:var(--text-light);line-height:1.7}.opportunity-card strong{color:var(--accent-color);font-weight:600}.airbnb-info{margin-top:1.5rem;text-align:center}.inline-rating{color:var(--accent-color);font-weight:600;background:linear-gradient(135deg,var(--accent-color),#f4d03f);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;display:inline-block;margin-left:.5rem}.airbnb-links{display:flex;flex-direction:column;gap:.75rem}.opportunity-card .airbnb-link{background:var(--primary-color);color:#fff;padding:.75rem 1rem;border-radius:6px;text-decoration:none;font-weight:500;font-size:.9rem;transition:all .3s ease}.opportunity-card .airbnb-link:hover{background:var(--secondary-color);transform:translateY(-2px);box-shadow:var(--shadow)}.galleries{padding:5rem 0;background:var(--background-white)}.gallery-section{margin-bottom:4rem}.gallery-section h2{font-family:Playfair Display,serif;font-size:2rem;text-align:center;margin-bottom:2rem;color:var(--primary-color)}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-top:1rem}.gallery-item{cursor:pointer;border-radius:8px;overflow:hidden;transition:transform .3s ease;aspect-ratio:4/3;background:var(--background-light)}.gallery-item:hover{transform:scale(1.05)}.gallery-item img{width:100%;height:100%;object-fit:cover}.location{padding:5rem 0;background:var(--background-light)}.location h2{font-family:Playfair Display,serif;font-size:2.5rem;text-align:center;margin-bottom:3rem;color:var(--primary-color)}.location-content{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}.location-text h3{font-family:Playfair Display,serif;font-size:1.5rem;margin-bottom:1.5rem;color:var(--primary-color)}.location-text ul{list-style:none}.location-text li{position:relative;padding:.5rem 0 .5rem 1.5rem}.location-text li:before{content:"📍";position:absolute;left:0}.map-link{margin-top:2rem}.location-map-link{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--primary-color);color:#fff;text-decoration:none;border-radius:8px;font-weight:500;transition:all .3s ease;box-shadow:var(--shadow)}.location-map-link:hover{background:var(--secondary-color);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.location-highlights h3{font-family:Playfair Display,serif;font-size:1.5rem;margin-bottom:1.5rem;color:var(--primary-color)}.highlight-item{margin-bottom:2rem}.highlight-item h4{font-family:Inter,sans-serif;font-size:1.1rem;font-weight:600;margin-bottom:.5rem;color:var(--text-dark)}.highlight-item p{color:var(--text-light);line-height:1.6}.contact{padding:5rem 0;background:var(--primary-color);color:#fff}.contact h2{font-family:Playfair Display,serif;font-size:2.5rem;text-align:center;margin-bottom:3rem;color:#fff}.contact-content{text-align:center;max-width:600px;margin:0 auto}.contact-info h3{font-family:Playfair Display,serif;font-size:2rem;margin-bottom:.5rem;color:var(--accent-color)}.experience{font-size:1.1rem;margin-bottom:2rem;color:#e0e0e0}.contact-details{margin-bottom:2rem}.contact-details p{font-size:1.1rem;margin-bottom:.5rem}.financing-note{background:#ffffff1a;padding:1.5rem;border-radius:8px;border-left:4px solid var(--accent-color)}.financing-note p{font-size:1.1rem;font-weight:500;color:var(--accent-color)}.hero-header{position:absolute;top:0;left:0;right:0;background:#2c5234f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem}.agent-contact{display:flex;align-items:center;color:#fff;font-size:.9rem;gap:1rem}.mls-number{color:var(--accent-color);font-weight:600;font-size:.9rem;background:#ffffff1a;padding:.5rem 1rem;border-radius:6px;border:1px solid var(--accent-color)}.agent-photo-header{flex-shrink:0}.headshot-header{width:70px;height:70px;border-radius:50%;object-fit:cover;border:3px solid var(--accent-color);box-shadow:0 2px 8px #0000004d}.agent-info{display:flex;flex-direction:column;gap:.2rem;flex:1}.contact-label{font-weight:600;font-size:1rem;color:var(--accent-color)}.agent-phone{font-weight:500;color:var(--accent-color);text-decoration:none}.agent-company{font-weight:400;opacity:.9}.lightbox{display:none;position:fixed;z-index:9999;top:0;left:0;width:100vw;height:100vh;background:#000000f2;justify-content:center;align-items:center;margin:0;padding:0}.lightbox-content{position:relative;width:100vw;height:100vh;display:flex;justify-content:center;align-items:center;margin:0;padding:2rem;box-sizing:border-box}.lightbox-content img{max-width:calc(100vw - 4rem);max-height:calc(100vh - 4rem);width:auto;height:auto;object-fit:contain;border-radius:4px}.lightbox-close{position:fixed;top:2rem;right:2rem;color:#fff;font-size:2.5rem;font-weight:700;cursor:pointer;z-index:1001;background:#00000080;border-radius:50%;width:50px;height:50px;display:flex;justify-content:center;align-items:center;transition:background-color .3s ease}.lightbox-close:hover{background:#000000b3}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:100%;display:flex;justify-content:space-between;pointer-events:none}.lightbox-nav button{background:#fff3;border:none;color:#fff;font-size:1.5rem;padding:1rem;cursor:pointer;border-radius:4px;pointer-events:all;transition:background-color .3s ease}.lightbox-nav button:hover{background:#ffffff4d}.lightbox-counter{position:fixed;top:2rem;left:2rem;color:#fff;font-size:1.1rem;font-weight:500;background:#00000080;padding:.5rem 1rem;border-radius:20px;z-index:10001}.simple-lightbox{display:flex;position:fixed;z-index:9999;top:0;left:0;width:100vw;height:100vh;background:#000000f2;justify-content:center;align-items:center;margin:0;padding:0}.simple-lightbox-content{position:relative;width:100vw;height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:2rem;box-sizing:border-box}.simple-lightbox-content img{max-width:calc(100vw - 4rem);max-height:calc(100vh - 8rem);width:auto;height:auto;object-fit:contain;border-radius:8px}.lightbox-caption{color:#fff;font-size:1.1rem;margin-top:1rem;font-weight:500}.scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);color:#fff;animation:bounce 2s infinite}.scroll-arrow{font-size:2rem;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:pointer}@keyframes bounce{0%,20%,50%,80%,to{transform:translate(-50%) translateY(0)}40%{transform:translate(-50%) translateY(-10px)}60%{transform:translate(-50%) translateY(-5px)}}.floor-plan{margin-bottom:1.5rem;text-align:center}.floor-plan-image{width:100%;max-width:300px;height:auto;border-radius:8px;box-shadow:var(--shadow);cursor:pointer;transition:transform .3s ease,box-shadow .3s ease}.floor-plan-image:hover{transform:scale(1.05);box-shadow:var(--shadow-lg)}.property-map{margin-bottom:1.5rem;text-align:center}.property-map-image{width:100%;max-width:350px;height:auto;border-radius:8px;box-shadow:var(--shadow);cursor:pointer;transition:transform .3s ease,box-shadow .3s ease}.property-map-image:hover{transform:scale(1.05);box-shadow:var(--shadow-lg)}.gallery-container{min-height:200px}.price-tag{background:linear-gradient(135deg,var(--accent-color),#f4d03f)!important;color:#fff!important;font-weight:600!important;font-size:1.1rem!important;text-shadow:1px 1px 2px rgba(0,0,0,.3)!important;box-shadow:var(--shadow-lg)!important}.agent-photo{margin-bottom:1.5rem;text-align:center}.headshot{width:120px;height:120px;border-radius:50%;object-fit:cover;border:4px solid var(--accent-color);box-shadow:var(--shadow-lg);transition:transform .3s ease}.headshot:hover{transform:scale(1.05)}@media (max-width: 768px){.hero-features{flex-direction:column;gap:1rem}.overview-grid,.opportunities-grid{grid-template-columns:1fr}.opportunity-card.wide{grid-column:span 1}.location-content{grid-template-columns:1fr;gap:2rem}.hero-features span{display:block;margin:0 auto}.hero{background-attachment:scroll}}@media (max-width: 480px){.container{padding:0 15px}.overview-card,.opportunity-card{padding:1.5rem}.agent-contact{font-size:.8rem;padding:.75rem 1rem;gap:.75rem}.hero-header{flex-direction:column;gap:1rem;padding:1rem}.mls-number{font-size:.8rem;padding:.4rem .8rem}.contact-label{font-size:.9rem}.headshot-header{width:60px;height:60px}}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.vanilla:hover{filter:drop-shadow(0 0 2em #f7df1eaa)}.card{padding:2em}.read-the-docs{color:#888}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.specialization{font-size:1rem;margin-bottom:2rem;color:#e0e0e0;font-style:italic}.lightbox-keyboard-hint{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);color:#ffffffb3;font-size:.9rem;text-align:center;z-index:10000;animation:fadeInOut 3s ease-in-out}@keyframes fadeInOut{0%{opacity:0}20%{opacity:1}80%{opacity:1}to{opacity:0}}
