:root{--color-primary:#8b6e4e;--color-primary-dark:#5c4633;--color-primary-light:#8b6e4e14;--color-accent:#c9956b;--color-accent-light:#ddb990;--color-sand:#d9cdb8;--color-sand-light:#ede7da;--color-cream:#f3ede4;--color-warm-white:#f9f5ef;--color-latte:#c4ad8f;--color-chocolate:#5c4633;--color-caramel:#a67b52;--color-text:#3b3028;--color-text-light:#6b5e52;--color-text-muted:#9a8e82;--color-dark:#2a2118;--color-white:#fff;--color-border:#ddd4c6;--color-bg:#f9f5ef;--font-heading:"Playfair Display", Georgia, serif;--font-body:"Raleway", system-ui, sans-serif;--section-padding:6rem 0;--container-max:1100px;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--color-text);background:var(--color-bg);font-size:16px;line-height:1.7;overflow-x:hidden}img{max-width:100%;height:auto;display:block}.container{max-width:var(--container-max);margin:0 auto;padding:0 1.5rem}.fade-in{opacity:0;transition:opacity .8s,transform .8s;transform:translateY(30px)}.fade-in.visible{opacity:1;transform:translateY(0)}.fade-in-left{opacity:0;transition:opacity .8s,transform .8s;transform:translate(-40px)}.fade-in-left.visible{opacity:1;transform:translate(0)}.fade-in-right{opacity:0;transition:opacity .8s,transform .8s;transform:translate(40px)}.fade-in-right.visible{opacity:1;transform:translate(0)}.scale-in{opacity:0;transition:opacity .7s,transform .7s;transform:scale(.92)}.scale-in.visible{opacity:1;transform:scale(1)}.stagger-children .fade-in:first-child{transition-delay:0s}.stagger-children .fade-in:nth-child(2){transition-delay:.15s}.stagger-children .fade-in:nth-child(3){transition-delay:.3s}.stagger-children .fade-in:nth-child(4){transition-delay:.45s}h1,h2,h3,h4{font-family:var(--font-heading);color:var(--color-text);line-height:1.25}h1{letter-spacing:-.02em;font-size:3rem;font-weight:700}h2{letter-spacing:-.01em;font-size:2.1rem;font-weight:600}h3{font-size:1.25rem;font-weight:600}.section-title{text-align:center;margin-bottom:3rem;position:relative}.section-title:after{content:"";background:var(--color-accent);width:40px;height:2px;margin:1rem auto 0;display:block}.section{padding:var(--section-padding);position:relative}.wave-divider{width:100%;line-height:0;position:relative;overflow:hidden}.wave-divider svg{width:100%;height:60px;display:block}.wave-divider.flip{transform:rotate(180deg)}.deco-shape{pointer-events:none;opacity:.08;z-index:0;border-radius:50%;position:absolute}.deco-shape-1{background:var(--color-accent);filter:blur(80px);width:400px;height:400px;top:-100px;right:-150px}.deco-shape-2{background:var(--color-sand);filter:blur(60px);width:300px;height:300px;bottom:-80px;left:-100px}.deco-shape-3{background:var(--color-caramel);filter:blur(90px);opacity:.06;width:250px;height:250px;top:50%;left:50%;transform:translate(-50%,-50%)}.floral-corners{pointer-events:none;z-index:1;position:absolute;inset:0}.floral-corners .floral-tl{opacity:.19;width:340px;height:340px;position:absolute;top:-15px;left:-15px}.floral-corners .floral-br{opacity:.17;width:300px;height:300px;position:absolute;bottom:-15px;right:-15px;transform:rotate(180deg)}.page-header{background:var(--color-sand-light);text-align:center;padding:5rem 0 4rem;position:relative;overflow:hidden}.page-header:before{content:"";background:var(--color-accent);opacity:.06;filter:blur(60px);border-radius:50%;width:500px;height:500px;position:absolute;top:-50%;right:-20%}.page-header h1{color:var(--color-chocolate);letter-spacing:-.03em;font-size:3rem;position:relative}.page-subtitle{color:var(--color-text-muted);max-width:600px;margin-top:.75rem;margin-left:auto;margin-right:auto;font-size:1.1rem;font-weight:300;position:relative}.btn{font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:1.5px solid #0000;border-radius:50px;padding:.9rem 2.25rem;font-size:.85rem;font-weight:500;text-decoration:none;transition:all .35s cubic-bezier(.25,.46,.45,.94);display:inline-block;position:relative;overflow:hidden}.btn:after{content:"";background:#ffffff26;border-radius:50%;width:0;height:0;transition:width .5s,height .5s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.btn:hover:after{width:300px;height:300px}.btn-primary{background:var(--color-primary);color:var(--color-warm-white);border-color:var(--color-primary);box-shadow:0 4px 15px #8b6e4e40}.btn-primary:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark);transform:translateY(-2px);box-shadow:0 8px 25px #5c463359}.btn-outline{color:var(--color-primary);border-color:var(--color-primary);background:0 0}.btn-outline:hover{background:var(--color-primary);color:var(--color-warm-white);transform:translateY(-2px);box-shadow:0 8px 25px #8b6e4e40}.hero{background:var(--color-sand-light);text-align:center;padding:7rem 0 5rem;position:relative;overflow:hidden}.hero:before{content:"";background:radial-gradient(at 20%,#c9956b33 0%,#0000 50%),radial-gradient(at 80% 20%,#c4ad8f26 0%,#0000 50%),radial-gradient(at 50% 80%,#a67b521a 0%,#0000 40%);animation:8s ease-in-out infinite alternate heroShimmer;position:absolute;inset:0}@keyframes heroShimmer{0%{opacity:1;transform:scale(1)}to{opacity:.7;transform:scale(1.05)}}.hero-arch{background:var(--color-bg);z-index:1;border-radius:150px 150px 0 0;width:300px;height:150px;position:absolute;bottom:-2px;left:50%;transform:translate(-50%)}.hero-arch-logo{width:63px;height:63px;color:var(--color-accent);opacity:.6;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.hero-sunburst{opacity:.15;width:80px;height:80px;animation:30s linear infinite sunSpin;position:absolute;top:2rem;right:10%}@keyframes sunSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sparkle{opacity:0;width:12px;height:12px;animation:3s ease-in-out infinite sparkleAnim;position:absolute}.sparkle:before,.sparkle:after{content:"";background:var(--color-accent);position:absolute}.sparkle:before{border-radius:1px;width:2px;height:100%;left:50%;transform:translate(-50%)}.sparkle:after{border-radius:1px;width:100%;height:2px;top:50%;transform:translateY(-50%)}.sparkle-1{animation-delay:0s;top:15%;left:15%}.sparkle-2{animation-delay:1s;top:25%;right:20%}.sparkle-3{animation-delay:2s;bottom:30%;left:25%}@keyframes sparkleAnim{0%,to{opacity:0;transform:scale(.5)rotate(0)}50%{opacity:.4;transform:scale(1)rotate(45deg)}}.hero-content{z-index:2;position:relative}.hero-eyebrow{font-family:var(--font-body);letter-spacing:.25em;text-transform:uppercase;color:var(--color-caramel);opacity:0;margin-bottom:1rem;font-size:.925rem;font-weight:500;animation:.8s .2s forwards fadeUp}.hero-content h1{color:var(--color-chocolate);letter-spacing:-.03em;opacity:0;margin-bottom:1.25rem;font-family:Poiret One,cursive;font-size:3.8rem;font-weight:400;line-height:1.1;animation:.8s .4s forwards fadeUp}.hero-subtitle{color:var(--color-text-light);opacity:0;max-width:500px;margin:0 auto 2.5rem;font-size:1.15rem;font-weight:300;line-height:1.8;animation:.8s .6s forwards fadeUp}.hero-actions{opacity:0;flex-wrap:wrap;justify-content:center;gap:1rem;animation:.8s .8s forwards fadeUp;display:flex}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hero .btn-primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-warm-white)}.hero .btn-outline{color:var(--color-primary);border-color:var(--color-primary)}.hero .btn-outline:hover{background:var(--color-primary);color:var(--color-warm-white)}.card-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;display:grid}.card{-webkit-backdrop-filter:blur(12px);text-align:left;background:#ffffff8c;border:1px solid #fff9;border-radius:16px;padding:2.5rem 2rem;transition:transform .4s cubic-bezier(.25,.46,.45,.94),box-shadow .4s;position:relative;overflow:hidden;box-shadow:0 4px 20px #0000000a}.card:before{content:"";background:linear-gradient(90deg, var(--color-accent), var(--color-latte), var(--color-accent));opacity:0;height:3px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.card:hover{transform:translateY(-8px);box-shadow:0 20px 50px #00000014}.card:hover:before{opacity:1}.card-icon{background:var(--color-sand-light);border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:1.5rem;padding:10px;transition:background .3s,transform .3s;display:flex}.card:hover .card-icon{background:var(--color-accent);transform:scale(1.1)}.card:hover .card-icon svg{stroke:#fff}.card-icon svg{width:100%;height:100%;transition:stroke .3s}.card h3{margin-bottom:.75rem;font-size:1.15rem}.card p{color:var(--color-text-muted);font-size:.92rem;line-height:1.7}.testimonial-preview{background:var(--color-cream);position:relative;overflow:hidden}.testimonial{text-align:center;border:none;max-width:650px;margin:0 auto;padding:2rem 0}.testimonial:before{content:"“";font-family:var(--font-heading);color:var(--color-accent);opacity:.3;margin-bottom:-1.5rem;font-size:6rem;line-height:1;display:block}.testimonial p{font-family:var(--font-heading);color:var(--color-text);margin-bottom:1.5rem;font-size:1.35rem;font-style:italic;line-height:1.7}.testimonial cite{color:var(--color-text-muted);letter-spacing:.05em;text-transform:uppercase;font-size:.9rem;font-style:normal;font-weight:500}.cta-section{background:var(--color-chocolate);color:var(--color-warm-white);position:relative;overflow:hidden}.cta-section:before{content:"";background:var(--color-caramel);opacity:.1;filter:blur(80px);border-radius:50%;width:600px;height:600px;animation:10s ease-in-out infinite alternate ctaFloat;position:absolute;top:-50%;left:-20%}@keyframes ctaFloat{0%{transform:translate(0)}to{transform:translate(60px,40px)}}.cta-content{text-align:center;position:relative}.cta-content h2{color:var(--color-warm-white);margin-bottom:.75rem;font-size:2.25rem}.cta-content p{color:var(--color-sand);margin-bottom:2rem;font-size:1.05rem;font-weight:300}.cta-section .btn-primary{background:var(--color-accent);color:var(--color-dark);border-color:var(--color-accent)}.cta-section .btn-primary:hover{background:var(--color-accent-light);border-color:var(--color-accent-light);box-shadow:0 8px 30px #0000004d}.about-grid{grid-template-columns:1fr 1.5fr;align-items:start;gap:3rem;display:grid}.photo-placeholder{background:linear-gradient(135deg, var(--color-sand-light), var(--color-cream));aspect-ratio:3/4;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:20px;justify-content:center;align-items:center;font-style:italic;display:flex;position:relative;overflow:hidden}.photo-placeholder:before{content:"";background:radial-gradient(circle,#c9956b1a,#0000 60%);width:200%;height:200%;animation:4s ease-in-out infinite alternate placeholderShimmer;position:absolute;top:-50%;left:-50%}@keyframes placeholderShimmer{0%{transform:translate(0)}to{transform:translate(20%,20%)}}.about-text h2{margin-bottom:1rem}.about-text p{color:var(--color-text-light);margin-bottom:1rem}.about-text h3{margin-top:1.5rem;margin-bottom:.75rem}.about-text ul{padding:0;list-style:none}.about-text ul li{color:var(--color-text-light);padding:.4rem 0 .4rem 1.75rem;position:relative}.about-text ul li:before{content:"";background:var(--color-accent);opacity:.6;border-radius:50%;width:8px;height:8px;position:absolute;top:.75rem;left:0}.service-card{-webkit-backdrop-filter:blur(12px);background:#ffffff8c;border:1px solid #fff9;border-radius:16px;gap:2.5rem;margin-bottom:1.5rem;padding:2.5rem;transition:all .4s cubic-bezier(.25,.46,.45,.94);display:flex;position:relative;overflow:hidden;box-shadow:0 4px 20px #0000000a}.service-card:before{content:"";background:linear-gradient(to bottom, var(--color-accent), var(--color-latte));opacity:0;border-radius:2px;width:4px;transition:opacity .3s;position:absolute;top:0;bottom:0;left:0}.service-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px #00000014}.service-card:hover:before{opacity:1}.service-icon{background:var(--color-sand-light);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;padding:12px;transition:background .3s,transform .3s;display:flex}.service-card:hover .service-icon{background:var(--color-accent);transform:scale(1.08)}.service-card:hover .service-icon svg{stroke:#fff}.service-icon svg{width:100%;height:100%;transition:stroke .3s}.service-details h2{margin-bottom:.25rem;font-size:1.4rem}.service-price{color:var(--color-caramel);margin-bottom:.5rem;font-size:1.05rem;font-weight:600}.service-details>p{color:var(--color-text-light);margin-bottom:1rem}.service-details ul{grid-template-columns:1fr 1fr;gap:.35rem;padding:0;list-style:none;display:grid}.service-details ul li{color:var(--color-text-light);padding-left:1.5rem;font-size:.9rem;position:relative}.service-details ul li:before{content:"";background:var(--color-accent);opacity:.5;border-radius:50%;width:5px;height:5px;position:absolute;top:.55rem;left:.4rem}.contact-grid{grid-template-columns:1fr 1.5fr;gap:3rem;display:grid}.contact-info h2{margin-bottom:1rem}.contact-info>p{color:var(--color-text-light);margin-bottom:2rem}.contact-detail{margin-bottom:1.25rem}.contact-detail strong{color:var(--color-text);margin-bottom:.15rem;font-weight:600;display:block}.contact-detail p{color:var(--color-text-light)}.contact-form{-webkit-backdrop-filter:blur(12px);background:#fff9;border:1px solid #fff9;border-radius:16px;padding:2.5rem;box-shadow:0 4px 20px #0000000a}.form-group{margin-bottom:1.25rem}.form-group label{color:var(--color-text);margin-bottom:.35rem;font-size:.9rem;font-weight:500;display:block}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--color-border);width:100%;font-family:var(--font-body);color:var(--color-text);background:var(--color-warm-white);border-radius:10px;padding:.8rem 1rem;font-size:.95rem;transition:border-color .3s,box-shadow .3s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 4px #c9956b1f}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-success{text-align:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fff9;border:1px solid #fff9;border-radius:16px;padding:3rem 2rem}.success-icon{background:linear-gradient(135deg, var(--color-accent), var(--color-latte));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 1rem;font-size:1.5rem;display:flex}.form-success h3{margin-bottom:.5rem}.form-success p{color:var(--color-text-light)}.faq-list{max-width:750px;margin:0 auto}.faq-item{border-bottom:1px solid var(--color-border);transition:background .3s}.faq-item:hover{background:#ffffff4d}.faq-question{cursor:pointer;width:100%;font-family:var(--font-heading);color:var(--color-text);text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem .5rem;font-size:1.1rem;font-weight:600;transition:color .2s;display:flex}.faq-question:hover{color:var(--color-caramel)}.faq-toggle{color:var(--color-accent);background:var(--color-sand-light);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.2rem;transition:background .3s,transform .3s;display:flex}.faq-item.open .faq-toggle{background:var(--color-accent);color:#fff;transform:rotate(45deg)}.faq-answer{color:var(--color-text-light);padding:0 .5rem 1.25rem;line-height:1.7;animation:.3s faqSlide}@keyframes faqSlide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){h1{font-size:2.2rem}h2{font-size:1.6rem}.hero{padding:5rem 0 3.5rem}.hero-content h1{font-size:2.8rem}.hero-arch{border-radius:100px 100px 0 0;width:200px;height:100px}.hero-arch-logo{width:47px;height:47px}.section{padding:4rem 0}.about-grid,.contact-grid{grid-template-columns:1fr}.service-card{flex-direction:column;gap:1rem}.service-details ul,.form-row{grid-template-columns:1fr}.deco-shape{display:none}}.site-header{z-index:100;-webkit-backdrop-filter:blur(16px);background:#f9f5efe6;border-bottom:1px solid #ddd4c680;padding:.85rem 0;transition:box-shadow .3s;position:sticky;top:0}.site-header:hover{box-shadow:0 4px 20px #0000000a}.header-inner{justify-content:space-between;align-items:center;display:flex}.logo{color:var(--color-text);letter-spacing:-.01em;align-items:center;gap:.5rem;font-family:Poiret One,cursive;font-size:1.3rem;font-weight:400;text-decoration:none;display:flex}.logo:hover{color:var(--color-primary-dark)}.logo-icon{width:37px;height:37px;color:var(--color-accent);flex-shrink:0}.menu-toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:4px;display:none}.menu-toggle span{background:var(--color-text);border-radius:2px;width:26px;height:2px;transition:transform .3s,opacity .3s;display:block}.menu-toggle.open span:first-child{transform:translateY(7px)rotate(45deg)}.menu-toggle.open span:nth-child(2){opacity:0}.menu-toggle.open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.main-nav{gap:.25rem;display:flex}.main-nav a{color:var(--color-text-light);letter-spacing:.04em;text-transform:uppercase;border-radius:0;padding:.5rem .85rem;font-size:.85rem;font-weight:400;text-decoration:none;transition:color .2s}.main-nav a:hover{color:var(--color-caramel,#a67b52)}.main-nav a.active{color:var(--color-caramel,#a67b52);border-bottom:1px solid var(--color-accent);font-weight:500}.site-footer{background:var(--color-dark);color:var(--color-cream);padding-top:4rem;position:relative;overflow:hidden}.site-footer:before{content:"";background:var(--color-caramel);opacity:.04;filter:blur(60px);border-radius:50%;width:400px;height:400px;position:absolute;top:-100px;right:-100px}.footer-inner{grid-template-columns:2fr 1fr 1fr;gap:3rem;padding-bottom:3rem;display:grid}.footer-brand{font-family:Poiret One,cursive;font-size:1.2rem;font-weight:400}.footer-brand-name{align-items:center;gap:.5rem;display:flex}.footer-brand-name .logo-icon{color:var(--color-accent)}.footer-brand p{font-family:var(--font-body);opacity:.8;margin-top:.5rem;font-size:.9rem;font-weight:400}.footer-links h4,.footer-contact h4{font-family:var(--font-body);letter-spacing:.15em;text-transform:uppercase;color:var(--color-accent);margin-bottom:1rem;font-size:.75rem;font-weight:500}.footer-links{flex-direction:column;gap:.4rem;display:flex}.footer-links a{color:var(--color-cream);opacity:.8;font-size:.9rem;text-decoration:none;transition:opacity .2s}.footer-links a:hover{opacity:1}.footer-contact p{opacity:.8;margin:.25rem 0;font-size:.9rem}.footer-bottom{text-align:center;opacity:.6;border-top:1px solid #ffffff1a;padding:1rem 0;font-size:.85rem}@media (width<=768px){.menu-toggle{display:flex}.main-nav{border-bottom:1px solid var(--color-border);background:#fff;flex-direction:column;padding:1rem;display:none;position:absolute;top:100%;left:0;right:0;box-shadow:0 4px 12px #00000014}.main-nav.open{display:flex}.main-nav a{padding:.75rem 1rem}.footer-inner{text-align:center;grid-template-columns:1fr}.footer-links{align-items:center}}
