:root{--bg-primary:#faf8f5;--bg-secondary:#f4f1eb;--bg-dark:#121824;--bg-card:#ffffff;--text-main:#1f2937;--text-muted:#4b5563;--text-light:#9ca3af;--text-white:#ffffff;--accent-gold:#b8986c;--accent-gold-hover:#9c7c52;--accent-gold-light:#f7f3ec;--accent-gold-border:#e8dfd1;--accent-gold-accessible:#8a6d48;--accent-gold-accessible-hover:#765d3e;--font-serif:'Lora',Georgia,'Times New Roman',serif;--font-sans:'Inter',system-ui,-apple-system,sans-serif;--shadow-sm:0 2px 4px rgba(0,0,0,0.02);--shadow-md:0 4px 12px rgba(184,152,108,0.06);--shadow-lg:0 10px 25px rgba(0,0,0,0.05);--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--transition-smooth:all 0.3s cubic-bezier(0.4,0,0.2,1);--transition-fast:all 0.15s ease;--container-width:1100px;}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}body{font-family:var(--font-sans);font-size:16px;line-height:1.6;color:var(--text-main);background-color:var(--bg-primary);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;}img{max-width:100%;height:auto;display:block;}button,input{font:inherit;}a{color:inherit;text-decoration:none;transition:var(--transition-fast);}h1,h2,h3,h4{font-family:var(--font-serif);font-weight:500;line-height:1.25;color:var(--bg-dark);}h1{font-size:clamp(2.2rem,5vw,3.5rem);margin-bottom:1.5rem;}h2{font-size:clamp(1.8rem,4vw,2.5rem);margin-bottom:1rem;position:relative;display:inline-block;}h2::after{content:'';display:block;width:50px;height:2px;background-color:var(--accent-gold);margin:1rem auto 0;transition:var(--transition-smooth);}.text-center h2::after{margin:1rem auto 0;}.text-left h2::after{margin:1rem 0 0;}h3{font-size:1.4rem;margin-bottom:0.75rem;}p{margin-bottom:1.25rem;color:var(--text-muted);}p.lead{font-size:1.15rem;font-family:var(--font-serif);font-style:italic;line-height:1.7;}.container{max-width:var(--container-width);margin:0 auto;padding:0 1.5rem;}.section{padding:clamp(4rem,8vw,7rem) 0;}.section-bg{background-color:var(--bg-secondary);}.text-center{text-align:center;}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;}@media (max-width:960px){.grid-2{grid-template-columns:1fr;gap:2.5rem;}}.btn{display:inline-flex;align-items:center;justify-content:center;padding:0.85rem 2rem;font-size:0.95rem;font-weight:500;letter-spacing:0.05em;text-transform:uppercase;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;transition:var(--transition-smooth);}.btn-primary{background-color:var(--accent-gold-accessible);color:var(--text-white);box-shadow:0 4px 10px rgba(138,109,72,0.2);}.btn-primary:hover{background-color:var(--accent-gold-accessible-hover);transform:translateY(-2px);box-shadow:0 6px 15px rgba(138,109,72,0.3);}.btn-outline{border-color:var(--accent-gold-accessible);color:var(--accent-gold-accessible);background-color:transparent;}.btn-outline:hover{background-color:var(--accent-gold-light);transform:translateY(-2px);}.site-header{position:absolute;top:0;left:0;width:100%;z-index:100;padding:1.5rem 0;}.header-container{display:flex;justify-content:space-between;align-items:center;}.logo{font-family:var(--font-serif);font-size:1.5rem;font-weight:500;letter-spacing:0.05em;color:var(--bg-dark);display:flex;align-items:center;gap:0.5rem;}.logo-heart{color:var(--accent-gold);}.nav-list{display:flex;list-style:none;gap:2rem;}.nav-link{font-size:0.9rem;font-weight:500;letter-spacing:0.05em;text-transform:uppercase;color:var(--text-muted);position:relative;padding:0.5rem 0;}.nav-link::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;background-color:var(--accent-gold);transform:scaleX(0);transform-origin:right;transition:transform 0.3s ease;}.nav-link:hover{color:var(--accent-gold-accessible);}.nav-link:hover::after{transform:scaleX(1);transform-origin:left;}@media (max-width:768px){.site-header{position:relative;background-color:var(--bg-primary);border-bottom:1px solid var(--accent-gold-border);padding:1.25rem 0;}.header-container{justify-content:center;}.site-nav{display:none;}}.hero{position:relative;min-height:100vh;display:flex;align-items:center;padding-top:8rem;overflow:hidden;background-color:var(--bg-secondary);}.hero-content{max-width:600px;position:relative;z-index:10;}.hero-subtitle{font-family:var(--font-serif);font-style:italic;font-size:1.25rem;color:var(--accent-gold-accessible);margin-bottom:1rem;display:block;}.hero-desc{font-size:1.1rem;margin-bottom:2.5rem;}.hero-cta{display:flex;flex-direction:column;gap:1rem;align-items:flex-start;}.hero-tel-badge{display:flex;align-items:center;gap:0.75rem;background-color:var(--bg-primary);border:1px solid var(--accent-gold-border);padding:0.75rem 1.25rem;border-radius:var(--radius-sm);margin-top:1rem;transition:var(--transition-smooth);}.hero-tel-badge:hover{border-color:var(--accent-gold);box-shadow:var(--shadow-md);transform:translateY(-2px);}.hero-tel-badge svg{color:var(--accent-gold);flex-shrink:0;}.hero-tel-badge span{font-size:0.85rem;text-transform:uppercase;letter-spacing:0.05em;color:var(--text-muted);}.hero-tel-badge .tel-number{font-family:var(--font-serif);font-size:1.2rem;font-weight:600;color:var(--bg-dark);transition:var(--transition-fast);}.hero-tel-badge:hover .tel-number{color:var(--accent-gold);}.hero-image-container{position:absolute;top:0;right:0;width:45%;height:100%;z-index:1;}.hero-image{width:100%;height:100%;object-fit:cover;object-position:center left;filter:sepia(10%) contrast(102%) brightness(96%);}.hero-image-container::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to right,var(--bg-secondary) 0%,rgba(244,241,235,0.4) 30%,transparent 100%);z-index:2;}@media (max-width:1024px){.hero-image-container{width:35%;}}@media (max-width:960px){.hero{min-height:auto;padding:4rem 0;display:block;}.hero-content{max-width:100%;margin-bottom:0;}.hero-image-container{display:none;}.hero-cta{align-items:stretch;}.hero-tel-badge{justify-content:center;}}.about-image-wrapper{position:relative;padding:1.5rem;}.about-image-wrapper::before{content:'';position:absolute;top:0;left:0;width:80%;height:80%;border:1px solid var(--accent-gold);z-index:1;pointer-events:none;}.about-image-wrapper::after{content:'';position:absolute;bottom:0;right:0;width:80%;height:80%;background-color:var(--accent-gold-light);z-index:1;pointer-events:none;}.about-img{position:relative;z-index:2;border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);filter:grayscale(10%) contrast(102%);}.about-experience{display:block;width:fit-content;background-color:var(--bg-dark);color:var(--accent-gold);font-family:var(--font-serif);padding:0.5rem 1rem;border-radius:var(--radius-sm);margin-bottom:1.5rem;font-size:0.9rem;letter-spacing:0.05em;text-transform:uppercase;}.about-quote{border-left:2px solid var(--accent-gold);padding-left:1.5rem;margin:2rem 0;font-family:var(--font-serif);font-style:italic;font-size:1.1rem;color:var(--text-muted);}.divider-quote{font-family:var(--font-serif);font-size:clamp(1.3rem,3.2vw,1.85rem);font-style:italic;line-height:1.6;color:var(--accent-gold-accessible);max-width:850px;margin:0 auto clamp(2.5rem,6vw,4rem) auto;padding:0 2rem;text-align:center;}.quote-separator{width:80px;height:1px;background-color:var(--accent-gold);margin:2.5rem auto;border:none;opacity:0.6;}.contact-header{text-align:left;}.contact-header h2::after{margin:1rem 0 0;}.methods-intro{max-width:700px;margin:0 auto 4rem;}.methodology-grid{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:2rem;align-items:stretch;}.method-card{background-color:var(--bg-card);padding:2.5rem;border-radius:var(--radius-md);box-shadow:var(--shadow-md);border:1px solid var(--accent-gold-border);transition:var(--transition-smooth);}.method-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:var(--accent-gold);}.method-image-box{border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-lg);position:relative;}.method-image-box img{width:100%;height:100%;object-fit:cover;filter:sepia(10%);min-height:350px;}@media (max-width:960px){.methodology-grid{grid-template-columns:1fr;gap:2rem;}}@media (max-width:768px){.method-card{padding:1.75rem;}}.pricing-box{background-color:var(--bg-card);border:1px solid var(--accent-gold-border);border-radius:var(--radius-lg);padding:3rem;box-shadow:var(--shadow-lg);max-width:800px;margin:0 auto;position:relative;overflow:hidden;}.pricing-box::before{content:'';position:absolute;top:0;left:0;width:100%;height:4px;background-color:var(--accent-gold);}.price-display{margin:2rem 0;}.price-amount{font-family:var(--font-serif);font-size:clamp(3rem,7vw,4.5rem);font-weight:500;color:var(--bg-dark);line-height:1;}.price-unit{font-size:1.2rem;color:var(--text-muted);font-family:var(--font-serif);font-style:italic;margin-left:0.5rem;}.price-detail{font-size:1.05rem;color:var(--accent-gold-accessible);font-weight:500;margin-top:0.5rem;}.pricing-features{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin:2.5rem 0;text-align:left;border-top:1px solid var(--bg-secondary);border-bottom:1px solid var(--bg-secondary);padding:2rem 0;}.pricing-feature{display:flex;align-items:flex-start;gap:0.75rem;font-size:0.95rem;}.pricing-feature svg{color:var(--accent-gold-accessible);flex-shrink:0;margin-top:0.2rem;}.pricing-feature strong{display:block;margin-bottom:0.25rem;}@media (max-width:768px){.pricing-box{padding:2rem 1.5rem;}.pricing-features{grid-template-columns:1fr;gap:1.2rem;padding:1.5rem 0;}}.reviews-section{background-color:var(--bg-secondary);overflow:hidden;}.reviews-intro{max-width:600px;margin:0 auto 3rem;}.google-rating-summary{display:flex;flex-direction:column;align-items:center;gap:0.5rem;margin-bottom:1.5rem;}.stars{display:flex;gap:0.2rem;color:#ffc107;}.google-badge-text{font-size:0.9rem;font-weight:500;color:var(--text-muted);letter-spacing:0.05em;text-transform:uppercase;}.slider-container{position:relative;max-width:800px;margin:0 auto;padding:0 3rem;}.reviews-wrapper{position:relative;min-height:200px;transition:height 0.4s cubic-bezier(0.25,0.46,0.45,0.94);overflow:hidden;}.review-slide{position:absolute;top:0;left:0;width:100%;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity 0.5s ease,transform 0.5s ease,visibility 0.5s;background-color:var(--bg-card);padding:2.5rem;border-radius:var(--radius-md);box-shadow:var(--shadow-md);border:1px solid var(--accent-gold-border);}.review-slide.active{position:relative;opacity:1;visibility:visible;transform:translateY(0);}.review-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;border-bottom:1px solid var(--bg-secondary);padding-bottom:1rem;}.review-author{display:flex;align-items:center;gap:1rem;}.author-avatar{width:44px;height:44px;background-color:var(--accent-gold-light);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--accent-gold-hover);font-size:1.1rem;border:1px solid var(--accent-gold-border);}.author-name{font-weight:600;color:var(--bg-dark);}.review-date{font-size:0.8rem;color:var(--text-light);}.review-text{font-family:var(--font-serif);font-style:italic;font-size:1.05rem;line-height:1.7;color:var(--text-main);}.slider-btn{position:absolute;top:135px;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;background-color:var(--bg-card);border:1px solid var(--accent-gold-border);color:var(--accent-gold);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;transition:var(--transition-smooth);box-shadow:var(--shadow-sm);}.slider-btn:hover{background-color:var(--accent-gold);color:var(--text-white);border-color:var(--accent-gold);}.slider-btn.prev{left:0;}.slider-btn.next{right:0;}.slider-dots{display:flex;justify-content:center;gap:0.5rem;margin-top:2rem;}.slider-dot{position:relative;width:9px;height:9px;border-radius:50%;background-color:var(--accent-gold-border);border:none;cursor:pointer;transition:var(--transition-smooth);}.slider-dot::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:48px;height:48px;}.slider-dot.active{background-color:var(--accent-gold);transform:scale(1.25);}@media (max-width:768px){.slider-container{padding:0;}.slider-btn{display:none;}.review-slide{padding:1.5rem;}.review-header{flex-direction:column;align-items:flex-start;gap:0.75rem;}}.faq-intro{max-width:600px;margin:0 auto 3rem;}.faq-list{max-width:800px;margin:0 auto;}.faq-item{background-color:var(--bg-card);border:1px solid var(--accent-gold-border);border-radius:var(--radius-md);margin-bottom:1rem;overflow:hidden;box-shadow:var(--shadow-sm);transition:var(--transition-smooth);}.faq-item:hover{border-color:var(--accent-gold);box-shadow:var(--shadow-md);}.faq-question{width:100%;text-align:left;background:none;border:none;padding:1.5rem;font-family:var(--font-serif);font-size:1.15rem;font-weight:500;color:var(--bg-dark);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;}.faq-icon{width:20px;height:20px;color:var(--accent-gold);transition:transform 0.3s ease;flex-shrink:0;}.faq-answer{max-height:0;overflow:hidden;transition:max-height 0.35s cubic-bezier(0.4,0,0.2,1);}.faq-answer-inner{padding:0 1.5rem 1.5rem;border-top:1px solid var(--bg-secondary);padding-top:1rem;font-size:0.95rem;color:var(--text-muted);}.faq-item.active{border-color:var(--accent-gold);box-shadow:var(--shadow-md);}.faq-item.active .faq-icon{transform:rotate(180deg);}.site-footer{background-color:var(--bg-dark);color:var(--text-white);padding-top:5rem;padding-bottom:2rem;border-top:3px solid var(--accent-gold);}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:4rem;margin-bottom:4rem;}.footer-brand h3{color:var(--text-white);font-size:1.6rem;margin-bottom:1rem;}.footer-brand p{color:var(--text-light);max-width:400px;font-size:0.95rem;}.footer-heading{font-family:var(--font-sans);font-size:0.85rem;font-weight:600;text-transform:uppercase;letter-spacing:0.1em;color:var(--accent-gold);margin-bottom:1.5rem;display:block;}.footer-hours-list{list-style:none;}.footer-hours-list li{display:flex;justify-content:space-between;font-size:0.9rem;margin-bottom:0.5rem;color:var(--text-light);border-bottom:1px dashed rgba(255,255,255,0.05);padding-bottom:0.25rem;}.footer-contact-info{list-style:none;}.footer-contact-info li{display:flex;align-items:flex-start;gap:0.75rem;font-size:0.9rem;color:var(--text-light);margin-bottom:1rem;}.footer-contact-info svg{color:var(--accent-gold);flex-shrink:0;margin-top:0.25rem;}.footer-tel-link{font-family:var(--font-serif);font-size:1.1rem;color:var(--text-white);font-weight:600;}.footer-tel-link:hover{color:var(--accent-gold);}.footer-bottom{border-top:1px solid rgba(255,255,255,0.08);padding-top:2rem;display:flex;justify-content:space-between;align-items:center;font-size:0.85rem;color:var(--text-light);}.footer-links{display:flex;gap:1.5rem;}.footer-links a:hover{color:var(--accent-gold);text-decoration:underline;}@media (max-width:900px){.footer-grid{grid-template-columns:1fr 1fr;gap:3rem;}}@media (max-width:600px){.footer-grid{grid-template-columns:1fr;gap:2.5rem;}.footer-bottom{flex-direction:column;gap:1.5rem;text-align:center;}.footer-links{justify-content:center;}}.modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:rgba(18,24,36,0.7);backdrop-filter:blur(4px);padding:2rem 0;}.modal-content{background-color:var(--bg-primary);margin:auto;padding:3rem;border:1px solid var(--accent-gold-border);border-radius:var(--radius-lg);width:90%;max-width:800px;position:relative;box-shadow:var(--shadow-lg);}.modal-close{position:absolute;top:1.5rem;right:1.5rem;font-size:2rem;color:var(--text-muted);cursor:pointer;transition:var(--transition-fast);width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;background-color:var(--bg-secondary);border:none;padding:0;line-height:1;}.modal-close:hover{color:var(--bg-dark);background-color:var(--accent-gold-light);}.modal h3{margin-top:2rem;margin-bottom:1rem;}.modal h3:first-of-type{margin-top:0;}.modal ul{margin-left:1.5rem;margin-bottom:1.25rem;color:var(--text-muted);}.modal li{margin-bottom:0.5rem;}@media (max-width:768px){.modal-content{padding:2rem 1.5rem;width:95%;}}@media (max-width:960px){.contact-header{text-align:center;}.contact-header h2::after{margin:1rem auto 0;}.contact-details{display:flex;flex-direction:column;}.contact-details .btn-outline{align-self:center;}}