:root{--cream: #b04a32;--cream-deep: #9c3e29;--clay: #f5efe6;--clay-dark: #ebe3d5;--earth: #2a140d;--sage: #d4c4a8;--sand: #f5e9d6;--muted: rgba(245, 233, 214, .78)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:DM Sans,sans-serif;background:var(--cream);color:var(--earth);line-height:1.6;overflow-x:hidden}.serif{font-family:Fraunces,serif}nav{position:fixed;top:0;width:100%;padding:1.5rem 3rem;display:flex;justify-content:space-between;align-items:center;z-index:100;background:#b04a32e0;backdrop-filter:blur(10px);border-bottom:1px solid rgba(245,233,214,.15)}nav .logo{font-family:Fraunces,serif;font-weight:600;font-size:1.4rem;letter-spacing:-.02em}.menu-toggle{display:flex;align-items:center;gap:.7rem;background:var(--clay);color:var(--earth);border:none;padding:.7rem 1.3rem;border-radius:100px;font-family:inherit;font-size:.95rem;font-weight:500;cursor:pointer;transition:background .3s;min-height:48px}.menu-toggle:hover{background:var(--sand)}.menu-icon{display:flex;flex-direction:column;gap:3px}.menu-icon span{width:16px;height:1.5px;background:var(--earth);transition:transform .3s,opacity .3s}.menu-toggle.open .menu-icon span:nth-child(1){transform:translateY(4.5px) rotate(45deg)}.menu-toggle.open .menu-icon span:nth-child(2){opacity:0}.menu-toggle.open .menu-icon span:nth-child(3){transform:translateY(-4.5px) rotate(-45deg)}.dropdown{position:absolute;top:calc(100% + .5rem);right:3rem;background:#f5efe6;border:1px solid rgba(42,20,13,.12);border-radius:12px;padding:.5rem;min-width:220px;box-shadow:0 20px 40px #00000059;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .25s,transform .25s,visibility .25s}.dropdown.open{opacity:1;visibility:visible;transform:translateY(0)}.dropdown a{display:block;padding:.75rem 1rem;color:#2a140d;text-decoration:none;font-size:.95rem;border-radius:8px;transition:background .2s,color .2s}.dropdown a:hover{background:#2a140d14;color:#2a140d}.dropdown .divider{height:1px;background:#2a140d1f;margin:.4rem .5rem}.dropdown .dropdown-cta{background:#2a140d;color:#f5efe6;text-align:center;margin-top:.3rem;font-weight:500}.dropdown .dropdown-cta:hover{background:#3d1f15;color:#f5efe6}.hero{position:relative;min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-bg{position:absolute;inset:0;z-index:0;overflow:hidden}.hero-bg>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;display:block}.hero-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#2d1f1759,#2d1f1773,#2d1f17bf)}.hero-content{position:relative;z-index:1;text-align:center;padding:10rem 2rem 6rem;max-width:1100px;color:var(--cream)}.hero-content h1{font-family:Fraunces,serif;font-size:clamp(3rem,8vw,7rem);font-weight:500;line-height:.98;letter-spacing:-.02em;margin-bottom:1.5rem;color:#f5efe6;text-shadow:0 2px 20px rgba(0,0,0,.3)}.hero-content h1 em{font-style:italic;color:#c2a25a;font-weight:400}.hero-tagline{display:flex;justify-content:center;gap:1.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.hero-tagline span{font-family:DM Sans,sans-serif;font-size:clamp(.9rem,1.6vw,1.15rem);font-weight:600;text-transform:uppercase;letter-spacing:.25em;color:var(--cream);text-shadow:0 1px 10px rgba(0,0,0,.4);position:relative;white-space:nowrap}.hero-tagline span:not(:last-child):after{content:"";position:absolute;right:-.85rem;top:50%;transform:translateY(-50%);width:5px;height:5px;border-radius:50%;background:var(--sand)}.hero-content p{font-size:1.25rem;color:#f5efe6eb;max-width:620px;margin:0 auto;text-shadow:0 1px 10px rgba(0,0,0,.4)}.hero-cta{display:inline-flex;align-items:center;gap:.6rem;background:var(--clay);color:var(--earth);padding:1rem 2rem;border-radius:100px;font-weight:600;font-size:1.05rem;text-decoration:none;transition:background .3s,transform .2s;box-shadow:0 6px 24px #00000040;min-height:48px}.hero-cta:hover{background:var(--sand);transform:translateY(-2px)}.hero-cta:after{content:"→";font-size:1.15rem}.about{padding:8rem 3rem;background:var(--cream-deep);display:grid;grid-template-columns:1fr 1.3fr;gap:5rem;align-items:center}.about-image{height:600px;border-radius:12px;overflow:hidden}.about-image>img{width:100%;height:100%;object-fit:cover;display:block}.about-content .label{color:var(--sand);font-size:.9rem;letter-spacing:.15em;text-transform:uppercase;margin-bottom:1rem}.about-content h2{font-family:Fraunces,serif;font-size:clamp(2.2rem,4.5vw,3.5rem);font-weight:500;line-height:1.1;letter-spacing:-.02em;margin-bottom:1.5rem}.about-content p{font-size:1.05rem;color:var(--muted)}.about-content h2{color:var(--clay)}.services{padding:8rem 3rem}.section-head{text-align:center;margin-bottom:4rem}.section-head .label{color:var(--sand);font-size:.9rem;letter-spacing:.15em;text-transform:uppercase;margin-bottom:1rem}.section-head h2{font-family:Fraunces,serif;font-size:clamp(2.2rem,4.5vw,3.5rem);font-weight:500;letter-spacing:-.02em;color:var(--clay)}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;max-width:1300px;margin:0 auto}.service-card{background:var(--earth);color:var(--clay);border-radius:12px;overflow:hidden;transition:transform .4s,box-shadow .4s}.service-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px #00000059}.service-image{height:240px;overflow:hidden}.service-image>img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.service-1>img{object-position:center center}.service-2>img{object-position:70% center}.service-3>img{object-position:75% center}.service-card-content{padding:2rem}.service-card h3{font-family:Fraunces,serif;font-size:1.5rem;font-weight:500;margin-bottom:.75rem;color:var(--clay)}.service-card p{color:#f5e9d6bf;font-size:.95rem;margin-bottom:1.5rem}.service-card .price{font-family:Fraunces,serif;color:var(--sand);font-size:1.1rem;font-weight:500}.testimonials{padding:8rem 0;background:#2a140d;color:var(--cream);overflow:hidden;position:relative}.testimonials .section-head{padding:0 3rem}.testimonials .section-head h2{color:var(--clay)}.testimonials .section-head .label{color:var(--sand)}.carousel-stage{position:relative;width:100%;display:flex;justify-content:center;align-items:center}.carousel-wrapper{position:relative;max-width:880px;width:100%;margin:0 auto;padding:0 1rem}.carousel-track{display:flex;gap:1.75rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding-bottom:1rem;scrollbar-width:none}.carousel-track::-webkit-scrollbar{display:none}.testimonial{flex:0 0 calc(50% - .875rem);aspect-ratio:3 / 4;scroll-snap-align:start;background:#f5e9d60d;border:1px solid rgba(245,233,214,.12);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:2.25rem 1.5rem 2rem;text-align:center}.testimonial-image{width:140px;height:140px;border-radius:14px;overflow:hidden;background-color:#f5e9d633;flex-shrink:0;margin-bottom:1.4rem;margin-top:0}.testimonial-image>img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.testimonial-body{display:flex;flex-direction:column;gap:.7rem}.testimonial-quote{font-family:Fraunces,serif;font-size:1.15rem;font-style:italic;line-height:1.4;margin:0;color:var(--clay)}.author-name{font-weight:500;font-size:.95rem;margin:0;color:var(--sand);letter-spacing:.04em}.author-profession{font-family:Fraunces,serif;font-style:italic;font-weight:400;font-size:.85rem;margin:0;color:#f5e9d6a6;letter-spacing:.01em}.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:1px solid rgba(245,233,214,.3);background:transparent;color:var(--clay);font-size:1.2rem;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center;z-index:2}.carousel-btn.prev{left:max(.5rem,calc((100vw - 880px)/2 - 60px))}.carousel-btn.next{right:max(.5rem,calc((100vw - 880px)/2 - 60px))}.carousel-btn:hover{background:var(--clay);border-color:var(--clay);color:var(--earth);transform:translateY(-50%) scale(1.08)}.contact{padding:8rem 3rem;display:grid;grid-template-columns:1fr 1fr;gap:5rem;max-width:1300px;margin:0 auto;align-items:center}.contact-left .label{color:var(--sand);font-size:.9rem;letter-spacing:.15em;text-transform:uppercase;margin-bottom:1rem}.contact-left h2{font-family:Fraunces,serif;font-size:clamp(2.5rem,5vw,4rem);font-weight:500;line-height:1;letter-spacing:-.02em;margin-bottom:1.5rem;color:var(--clay)}.contact-left p{color:var(--muted);font-size:1.1rem;margin-bottom:2rem}.contact-info{display:flex;flex-direction:column;gap:.75rem}.contact-info address{font-family:Fraunces,serif;font-style:normal;font-size:1.1rem;color:var(--clay)}.contact-info address span{color:var(--muted);font-family:DM Sans;font-size:.9rem;display:block;margin-top:.35rem;max-width:38ch}.contact-email{display:inline-block;color:var(--clay);text-decoration:none;font-family:DM Sans,sans-serif;font-size:1rem;margin-bottom:.6rem;border-bottom:1px solid rgba(245,233,214,.35);padding-bottom:.15rem;transition:border-color .2s,color .2s}.contact-email:hover{color:var(--sand);border-color:var(--sand)}.form-status{margin-top:.9rem;font-size:.9rem;min-height:1.2em;color:var(--muted)}.form-status[data-state=success]{color:var(--sand)}.form-status[data-state=error]{color:#ffb39a}.form-status a{color:inherit;text-decoration:underline}.contact-form{background:var(--earth);padding:2.5rem;border-radius:12px;color:var(--clay)}.contact-form label{display:block;font-size:.85rem;color:#f5e9d6b3;margin-bottom:.5rem;margin-top:1rem}.contact-form label:first-child{margin-top:0}.contact-form input,.contact-form textarea,.contact-form select{width:100%;padding:.85rem 1rem;border:1px solid rgba(245,233,214,.18);border-radius:8px;background:#f5e9d60f;font-family:inherit;font-size:1rem;color:var(--clay)}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#f5e9d666}.contact-form select option{background:#2a140d;color:#f5efe6}.contact-form textarea{min-height:100px;resize:vertical}.contact-form button{width:100%;margin-top:1.5rem;background:var(--clay);color:var(--earth);border:none;padding:1rem;border-radius:100px;font-family:inherit;font-size:1rem;font-weight:500;cursor:pointer;transition:background .3s}.contact-form button:hover{background:var(--sand)}footer{padding:3rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem}.footer-social{display:inline-flex;align-items:center;gap:.55rem;color:var(--clay);text-decoration:none;font-size:.95rem;letter-spacing:.04em;padding:.55rem 1.1rem;border:1px solid rgba(245,233,214,.18);border-radius:999px;transition:background .2s ease,color .2s ease,border-color .2s ease}.footer-social:hover{background:var(--clay);color:var(--cream);border-color:var(--clay)}.footer-social svg{width:18px;height:18px}.footer-contact{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem 1.75rem;margin-bottom:1.5rem}.footer-email{color:#f5e9d6d9;text-decoration:none;font-size:.95rem;border-bottom:1px solid rgba(245,233,214,.25);padding-bottom:.15rem;transition:color .2s,border-color .2s}.footer-email:hover{color:var(--sand);border-color:var(--sand)}.footer-copyright{font-size:.85rem;color:#f5e9d680;border-top:1px solid rgba(245,233,214,.15);color:#f5e9d6b3;font-size:.9rem}.faq{padding:8rem 3rem;background:var(--cream-deep);color:var(--clay)}.faq-grid{max-width:880px;margin:0 auto;display:flex;flex-direction:column;gap:.6rem}.faq details{background:#f5e9d60d;border:1px solid rgba(245,233,214,.14);border-radius:12px;overflow:hidden;transition:background .25s,border-color .25s}.faq details[open]{background:#f5e9d614;border-color:#f5e9d640}.faq summary{list-style:none;cursor:pointer;padding:1.35rem 1.6rem;font-family:Fraunces,serif;font-size:1.2rem;font-weight:500;color:var(--clay);display:flex;align-items:center;justify-content:space-between;gap:1.5rem;letter-spacing:-.01em}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-family:DM Sans,sans-serif;font-size:1.6rem;font-weight:300;color:var(--sand);transition:transform .3s ease;flex-shrink:0;line-height:1}.faq details[open] summary:after{transform:rotate(45deg)}.faq-answer{padding:0 1.6rem 1.4rem;color:#f5e9d6c7;font-size:1rem;line-height:1.65;max-width:60ch}.faq .section-head h2{color:var(--clay)}.faq .section-head .label{color:var(--sand)}@media (max-width: 900px){.faq{padding:5rem 1.5rem}.faq summary{padding:1.15rem 1.25rem;font-size:1.1rem}.faq-answer{padding:0 1.25rem 1.2rem}}@media (max-width: 480px){.faq{padding:4rem 1.25rem}.faq summary{font-size:1.05rem;gap:1rem}.faq-answer{font-size:.95rem}}@media (max-width: 900px){nav{padding:1rem 1.5rem}.dropdown{right:1.5rem}.hero-content{padding:8rem 1.5rem 4rem}.about,.contact{grid-template-columns:1fr;padding:5rem 1.5rem;gap:3rem}.about-image{height:380px}.services{padding:5rem 1.5rem}.services-grid{grid-template-columns:1fr;gap:1.5rem}.service-image{height:200px}.testimonials{padding:5rem 0}.testimonials .section-head{padding:0 1.5rem}.carousel-wrapper{padding:0 3.5rem;max-width:100%}.testimonial{flex:0 0 100%}.carousel-btn{width:40px;height:40px;font-size:1.15rem;background:#f5e9d61f;border-color:#f5e9d68c;color:var(--clay);box-shadow:0 2px 10px #00000059}.carousel-btn.prev{left:.5rem}.carousel-btn.next{right:.5rem}}@media (max-width: 480px){nav{padding:.85rem 1rem}nav .logo{font-size:1.2rem}.dropdown{right:1rem;min-width:200px}.menu-toggle{padding:.85rem 1.15rem;font-size:.95rem;min-height:48px}.hero-content{padding:7rem 1.25rem 3rem}.hero-content h1{font-size:2.8rem;line-height:1;margin-bottom:1rem}.hero-content p{font-size:1.05rem}.hero-cta{padding:.9rem 1.6rem;font-size:1rem}.about,.contact{padding:4rem 1.25rem;gap:2rem}.about-image{height:320px}.about-content h2,.section-head h2,.contact-left h2{font-size:2.1rem}.about-content p{font-size:.98rem}.services{padding:4rem 1.25rem}.service-image{height:180px}.service-card-content{padding:1.5rem}.service-card h3{font-size:1.25rem}.testimonials{padding:4rem 0}.testimonials .section-head{padding:0 1.25rem}.carousel-wrapper{max-width:100%;padding:0 3rem}.testimonial-image{width:96px;height:96px}.carousel-btn{width:36px;height:36px;font-size:1.05rem}.carousel-btn.prev{left:.35rem}.carousel-btn.next{right:.35rem}.contact-form{padding:1.75rem 1.5rem}.contact-form input,.contact-form textarea,.contact-form select{font-size:1rem;padding:.9rem 1rem}.contact-form button{padding:1.1rem}.contact-info address{font-size:1rem}footer{padding:2rem 1rem}}
