html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}img{content-visibility:auto}*{box-sizing:border-box;margin:0;padding:0}:root{--primary:#2d3748;--primary-dark:#1a202c;--accent:#d4af37;--accent-hover:#b8972f;--text:#2d3748;--text-light:#718096;--background:#fff;--background-light:#f7fafc;--border:#e2e8f0;--shadow:#0000001a;--shadow-lg:#00000026}html{scroll-behavior:smooth}body{color:var(--text);background-color:var(--background);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6}h1,h2,h3,h4,h5,h6{color:var(--primary);font-weight:700;line-height:1.2}h1{margin-bottom:1rem;font-size:2.5rem}h2{margin-bottom:1rem;font-size:2rem}h3{margin-bottom:.75rem;font-size:1.5rem}p{margin-bottom:1rem}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}.container{max-width:1200px;margin:0 auto;padding:0 20px}.section{padding:80px 0}.section-light{background-color:var(--background-light)}.section-title{text-align:center;margin-bottom:3rem}.section-title h2{margin-bottom:.5rem;font-size:2.5rem}.section-title p{color:var(--text-light);font-size:1.125rem}.btn{cursor:pointer;text-align:center;border:none;border-radius:50px;padding:14px 32px;font-size:1rem;font-weight:600;transition:all .3s;display:inline-block}.btn-primary{background-color:var(--accent);color:#fff}.btn-primary:hover{background-color:var(--accent-hover);box-shadow:0 4px 12px var(--shadow-lg);transform:translateY(-2px)}.btn-secondary{color:var(--primary);border:2px solid var(--primary);background-color:#0000}.btn-secondary:hover{background-color:var(--primary);color:#fff}.grid{gap:2rem;display:grid}.card{box-shadow:0 2px 8px var(--shadow);background:#fff;border-radius:12px;padding:2rem;transition:transform .3s,box-shadow .3s}.card:hover{box-shadow:0 8px 24px var(--shadow-lg);transform:translateY(-4px)}@media (max-width:768px){h1{font-size:2rem}h2{font-size:1.75rem}.section{padding:60px 0}.section-title h2{font-size:2rem}.grid{gap:1.5rem}}@media (max-width:480px){h1{font-size:1.75rem}.btn{padding:12px 24px;font-size:.95rem}}.city-card-hover:hover{border-color:var(--accent);transform:translateY(-4px);box-shadow:0 4px 12px #0000001a}.internal-link-hover:hover{border-color:var(--accent);transform:translate(4px)}.internal-link-hover:hover span:last-child{transform:translate(4px)}details[open] summary span:last-child{transform:rotate(45deg)}details summary::-webkit-details-marker{display:none}:root{--text-light:#526075}.btn-primary{color:#202938}.actions{flex-wrap:wrap;gap:12px;display:flex}.center-note{text-align:center;margin:28px 0 0}.center-note a,.text-link{color:#645016;text-underline-offset:4px;font-weight:600;text-decoration:underline}.content-block{margin-bottom:48px;scroll-margin-top:110px}.content-block>h2{margin-bottom:24px}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;font-weight:700}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:22px 0;display:grid}label{font-weight:600;display:block}input,select,textarea{width:100%;font:inherit;color:#202938;background:#fff;border:1px solid #8893a4;border-radius:8px;margin-top:7px;padding:12px;display:block}textarea{resize:vertical;min-height:120px}input[type=checkbox]{width:auto;margin:0;display:inline-block}.check-label{align-items:center;gap:12px;margin:18px 0;display:flex}.estimate-total{margin:24px 0;font-size:1.4rem;font-weight:700}.form-note{color:#526075;font-size:.9rem}.form-message{overflow-wrap:anywhere;background:#f1f5f9;border-left:4px solid #d4af37;margin:20px 0;padding:16px}.form-error{color:#8a1c13;border-color:#b42318}.contact-layout{grid-template-columns:1.5fr 1fr;align-items:start;gap:30px;display:grid}.prose{max-width:850px;margin:auto}.prose p,.prose li{line-height:1.8}.prose h2{margin-top:36px}.prose ul,.prose ol{padding-left:24px}.prose a{text-underline-offset:3px;text-decoration:underline}.guide-grid .card{flex-direction:column;display:flex}.guide-grid a{margin-top:auto}.skip-link{color:#202938;z-index:1000;background:#fff;padding:12px;position:fixed;top:-100px;left:16px}.skip-link:focus{top:10px}:focus-visible{outline-offset:4px;outline:3px solid #305ac5}.privacy-panel{z-index:200;background:#fff;border:1px solid #8a7340;border-radius:12px;max-width:450px;max-height:75vh;padding:20px;position:fixed;bottom:18px;left:18px;overflow:auto;box-shadow:0 4px 35px #0003}.privacy-panel p{font-size:.9rem}.privacy-panel .btn{padding:10px 16px}.privacy-settings{color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;padding:8px;text-decoration:underline}.mobile-contact{display:none}.honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.pricing-card .btn{margin-top:auto}.pricing-card{flex-direction:column;display:flex}.pricing-card .features{flex:1}.gallery-item img{object-fit:cover;width:100%;height:100%}.grid>*{min-width:0}.grid-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.testimonial-card{max-width:650px}.faq-question{color:#202938}.summary-box{background:#f7f5ef;border-left:4px solid #d4af37;border-radius:8px;margin:24px 0;padding:24px}@media (max-width:768px){.contact-layout,.form-grid{grid-template-columns:1fr}.card{padding:22px}.mobile-contact{z-index:90;padding:10px;padding-bottom:max(10px,env(safe-area-inset-bottom));background:#fff;gap:10px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 12px #0002}.mobile-contact a{flex:1;padding:11px 8px;font-size:.9rem}body{padding-bottom:78px}.privacy-panel{max-width:none;bottom:85px;left:10px;right:10px}.content-block{margin-bottom:32px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}@media (max-width:768px){.nav:not(.active){visibility:hidden}.nav.active{visibility:visible}}.header-content{min-height:82px}.skip-link{z-index:1200}@media (max-width:768px){.nav{top:82px}}
.header{box-shadow:0 2px 8px var(--shadow);z-index:1000;background:#fff;position:sticky;top:0}.header-content{justify-content:space-between;align-items:center;padding:1rem 0;display:flex}.logo{color:var(--primary);letter-spacing:-.5px;font-size:1.5rem;font-weight:700}.nav{gap:2rem;display:flex}.nav a{color:var(--text);font-weight:500;transition:color .3s;position:relative}.nav a:hover{color:var(--accent)}.nav a:after{content:"";background-color:var(--accent);width:0;height:2px;transition:width .3s;position:absolute;bottom:-4px;left:0}.nav a:hover:after{width:100%}.hamburger{cursor:pointer;background:0 0;border:none;flex-direction:column;width:28px;height:24px;padding:0;display:none;position:relative}.hamburger span{background-color:var(--primary);border-radius:3px;width:100%;height:3px;transition:all .3s;display:block;position:absolute}.hamburger span:first-child{top:0}.hamburger span:nth-child(2){top:50%;transform:translateY(-50%)}.hamburger span:nth-child(3){bottom:0}.hamburger.active span:first-child{top:50%;transform:translateY(-50%)rotate(45deg)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){bottom:50%;transform:translateY(50%)rotate(-45deg)}@media (max-width:768px){.hamburger{display:flex}.nav{box-shadow:0 4px 12px var(--shadow);background:#fff;flex-direction:column;gap:0;max-height:0;padding:0;transition:max-height .3s;position:fixed;top:65px;left:0;right:0;overflow:hidden}.nav.active{max-height:400px}.nav a{border-bottom:1px solid var(--border);padding:1.25rem 1.5rem}.nav a:after{display:none}}.logo{color:var(--primary);letter-spacing:-.5px;align-items:center;gap:.75rem;font-size:1.5rem;font-weight:700;display:flex}.logo img{display:block}
.footer{background-color:var(--primary);color:#fff;padding:3rem 0 1.5rem}.footer-content{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:3rem;margin-bottom:2rem;display:grid}.footer-section h3{color:#fff;margin-bottom:1rem;font-size:1.5rem}.footer-section h4{color:#fff;margin-bottom:1rem;font-size:1.125rem}.footer-section p{color:#fffc;line-height:1.8}.footer-contact{margin-top:1rem}.footer-section ul{list-style:none}.footer-section ul li{margin-bottom:.75rem}.footer-section ul li a{color:#fffc;transition:color .3s}.footer-section ul li a:hover{color:var(--accent)}.footer-bottom{text-align:center;border-top:1px solid #ffffff1a;padding-top:2rem}.footer-bottom p{color:#fff9;font-size:.9rem}@media (max-width:768px){.footer-content{grid-template-columns:1fr;gap:2rem}}
