@charset "utf-8";
/* CSS Document */

/*-- Google Font Import 
-----------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,100..900;1,100..900&family=Cinzel:wght@400..900&display=swap');


:root {
--gold:#d4af37;
--gold-bright:#f3d57a;
--gold-deep:#b8860b;
--gold-soft:#e8c873;
--ink:#060606;
--ink-2:#0d0c0f;
--panel:#131217;
--panel-2:#1a181f;
--line:rgba(212, 175, 55, 0.22);
--line-strong:rgba(212, 175, 55, 0.45);
--text-light:#f5efe2;
--text-muted:#b3ac9c;
--text-dim:#8a8478;
--shadow-gold:rgba(212, 175, 55, 0.18);
--glow:rgba(243, 213, 122, 0.35);
--logo:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJEAAACgCAYAAAAM/o4rAAC2+0lEQVR4nOx9d3xU1bb2s0+dPplJD0loUQoQkgASkoAQQhCCoiCgIooNRb2KBf0UVIQL2BtWQLkqiUE9ihAhEFBAem+BhJCEdJJJb9Onz9nvj4QoIv1m3/f+PicxM2fvs9fea6+9zj5n8v8AiP8/Nf4P1///9P8HAJCXl9fT09MTEBCgAMgJkAOy4AIAILhvyBMQJqzQI3GqkJovNb3FUmKj3qK/3s5RpEa1RoqiKMrWbGPbaGM0mqlMJFO1l9a5RKgqUaR7SKZ7YFKlilM2qlnL5JpyqFal9Cil4C1VZiuVl1IqVVFKqV6Kb+O1bb6N0OYrv7JVTSK1+aJMWqNJVFNVxU6qqlWa7klj5ym2qdFvVXSXfOF+fKnvj5J9m+Q+M2P3eYGb7l5PsXt/N9HQFIO3pFf3Xjz+xhFVLjlefvjFi4oMzU/Y+5T7bvzzZD/mvz3P7u0/rPmG6JdwZiZxC/wXzD0AcCoaxuSDLRNkmE0CobHq2MZo9F6C2eSUFpzb2mI+VGxEqFrSCaDRRjAuD5V2UT5PiY/B6akPDMHBEjimcUVjKkrEp6NZ5SYdaMRLbNf0KiMOHwKbCVMRGhQOhXWmqNqh2V4yTQJ1Q2iF6SMygNqfSHilEK5X6mEphJL8oL5V6DGqR0ilIZRqeZjSmJ6JWJoIpj86RGdNqO5RU6V9tJHdpUqikhA9zfE6Gx1FNIZ4f5Y5R5hxk1b3QaQlzn71KdQ2B1E9ioqhQVqy23RpIFz7lDR5EUGNVqoJY3r2NiXSFY3NRsC1t1TlEq1+aiohVNNlJjq1J1iUKdRYY1dqUpRJlNfW2qBpkK1WaeULUxFkzfG+mtKkfQllSlKBJUrqUsKlFGsNqK2oaRalKIpVPJq+K9SoW7kTJmyRkMvqCy8FqaxqZH3l+pJlIKD5C6K7IkuYHUj7mFPAopJWoHY3ISzHCOSBQy9P8VB0Sb0HFqnVh7mLm4q2oeqJf2L/7rM7M9L3x/nJaifOPmPBniQq4wjKwYHQO2RabONkAaOEP3KBoPwT/kqKYHAmBc/1yCwlAAVmQACOABYAAFgAKcAELAEFABEABsACYAECuAAAASAB4AhwgAOY3jgIBSAR0AIGaQA0JNIDDfKjAYPQgQNIbMkJqMYECoMRgCpgHgjMABMgOAAFEGUAABjADDAFOwA4MIBjABQCY2BqAA6AAHAEbhAKAAEYYTEAAAAABJRU5ErkJggg=="); }
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }

body { font-family:"Jost", sans-serif; line-height:1.7; color:var(--text-muted); background-color:var(--ink); overflow-x:hidden; -webkit-font-smoothing:antialiased; }
.container { max-width:1200px; margin:0 auto; padding:0 25px; }

h1, h2, h3, h4 { font-family:"Cinzel", serif; font-weight:600; line-height:1.25; margin-bottom:1rem; color:var(--text-light); letter-spacing:0.02em; }
h1 { font-size:3.5rem; }
h2 { font-size:2.6rem; }
h3 { font-size:1.6rem; }

p { margin-bottom:1rem; font-size:1.05rem; color:var(--text-muted); }

a { text-decoration:none; color:var(--gold); transition:color 0.3s ease; }
a:hover { color:var(--gold-bright); }

.gold-text { background:linear-gradient(120deg, var(--gold-deep), var(--gold-bright) 45%, var(--gold) 70%, var(--gold-bright)); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.eyebrow { display:inline-block; font-family:"Jost", sans-serif; font-weight:500; letter-spacing:0.32em; text-transform:uppercase; font-size:0.72rem; color:var(--gold); margin-bottom:18px; }
.eyebrow::before { content:"✦"; margin-right:10px; color:var(--gold-bright); }

.btn { display:inline-flex; align-items:center; justify-content:center; padding:14px 32px; border-radius:2px; font-family:"Jost", sans-serif; font-weight:500; letter-spacing:0.12em; text-transform:uppercase; font-size:0.82rem; cursor:pointer; transition:all 0.35s cubic-bezier(0.25, 0.8, 0.25, 1); border:1px solid transparent; text-align:center; position:relative; overflow:hidden; }
.btn-primary { background:linear-gradient(120deg, var(--gold-deep), var(--gold) 50%, var(--gold-bright)); color:#1a1303; border-color:var(--gold); box-shadow:0 6px 22px var(--shadow-gold); }
.btn-primary:hover { color:#1a1303; transform:translateY(-3px); box-shadow:0 12px 30px var(--glow); filter:brightness(1.08); }
.btn-outline { background:transparent; color:var(--gold-bright); border-color:var(--line-strong); }
.btn-outline:hover { background:rgba(212, 175, 55, 0.08); color:var(--gold-bright); border-color:var(--gold); transform:translateY(-3px); box-shadow:0 8px 24px var(--shadow-gold); }
.btn-accent { background:linear-gradient(120deg, var(--gold-deep), var(--gold) 50%, var(--gold-bright)); color:#1a1303; border-color:var(--gold); box-shadow:0 6px 22px var(--shadow-gold); }
.btn-accent:hover { color:#1a1303; transform:translateY(-3px); box-shadow:0 12px 30px var(--glow); filter:brightness(1.08); }
.site-header { position:fixed; top:0; width:100%; background-color:rgba(6, 6, 6, 0.55); backdrop-filter:blur(12px); z-index:1000; padding:12px 0; transition:all 0.35s ease; border-bottom:1px solid transparent; }
.site-header.scrolled { background-color:rgba(6, 6, 6, 0.92); border-bottom:1px solid var(--line); box-shadow:0 8px 30px rgba(0, 0, 0, 0.5); }
.header-content { display:flex; justify-content:space-between; align-items:center; width:100%; gap:16px; }

.logo { display:flex; align-items:center; flex-shrink:0; line-height:0; }
.brand-emblem { width:clamp(54px, 11vw, 68px); height:clamp(54px, 11vw, 68px); flex-shrink:0; background:var(--logo) center/contain no-repeat; filter:drop-shadow(0 0 10px var(--shadow-gold)); }
.footer-logo .brand-emblem { width:50px; height:50px; margin-right:12px; }

.main-nav { display:flex; flex:1; justify-content:center; }
.main-nav ul { list-style:none; display:flex; gap:34px; align-items:center; }
.main-nav .nav-link { font-family:"Jost", sans-serif; font-weight:400; letter-spacing:0.08em; text-transform:uppercase; color:var(--text-muted); position:relative; padding:5px 0; font-size:0.8rem; }
.main-nav .nav-link::after { content:""; position:absolute; width:0; height:1px; background:linear-gradient(90deg, var(--gold-deep), var(--gold-bright)); left:50%; transform:translateX(-50%); bottom:-6px; transition:width 0.3s ease; }
.main-nav .nav-link:hover::after,
.main-nav .nav-link.active::after { width:100%; }
.main-nav .nav-link:hover,
.main-nav .nav-link.active { color:var(--gold-bright); }

.book-appointment-btn { flex-shrink:0; display:flex; gap:10px; align-items:center; }
.book-appointment-btn .btn { white-space:nowrap; padding:11px 24px; font-size:0.74rem; }

.menu-toggle { display:none; width:30px; height:22px; position:relative; background:none; border:none; cursor:pointer; padding:0; flex-shrink:0; z-index:1001; }.menu-toggle span { position:absolute; left:0; width:100%; height:2px; background:var(--gold); border-radius:2px; transition:transform 0.3s ease, opacity 0.25s ease, top 0.3s ease; }.menu-toggle span:nth-child(1) { top:0; }
.menu-toggle span:nth-child(2) { top:10px; }
.menu-toggle span:nth-child(3) { top:20px; }
.menu-toggle.active span:nth-child(1) { top:10px; transform:rotate(45deg); }
.menu-toggle.active span:nth-child(2) { opacity:0; }
.menu-toggle.active span:nth-child(3) { top:10px; transform:rotate(-45deg); }

body.nav-open { overflow:hidden; }

.mobile-nav-overlay { position:fixed; top:0; left:0; width:100%; height:100%; background-color:rgba(0, 0, 0, 0.75); z-index:999; display:none; justify-content:flex-end; opacity:0; transition:opacity 0.3s ease; backdrop-filter:blur(4px); }
.mobile-nav-overlay.active { display:flex; opacity:1; }
.mobile-nav { width:78%; max-width:320px; background:linear-gradient(160deg, var(--ink-2), var(--panel)); padding:90px 30px 30px; box-shadow:-10px 0 40px rgba(0, 0, 0, 0.6); border-left:1px solid var(--line); transform:translateX(100%); transition:transform 0.35s ease; }
.mobile-nav-overlay.active .mobile-nav { transform:translateX(0); }
.mobile-nav ul { list-style:none; display:flex; flex-direction:column; gap:4px; }
.mobile-nav .nav-link { font-family:"Jost", sans-serif; font-size:0.95rem; letter-spacing:0.06em; text-transform:uppercase; font-weight:400; color:var(--text-muted); display:block; padding:14px 0; border-bottom:1px solid rgba(212, 175, 55, 0.12); }
.mobile-nav .nav-link:hover { color:var(--gold-bright); }
.mobile-nav .btn { margin-top:24px; width:100%; }

section { padding:110px 0; position:relative; overflow:hidden; }
.section-head { text-align:center; max-width:760px; margin:0 auto 60px; }
.section-title { font-size:2.5rem; margin-bottom:16px; color:var(--text-light); }
.section-description { font-size:1.05rem; color:var(--text-dim); }

.divider { width:70px; height:1px; margin:0 auto 22px; background:linear-gradient(90deg, transparent, var(--gold), transparent); position:relative; }.divider::after { content:"✦"; position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); color:var(--gold-bright); font-size:0.7rem; background:var(--ink); padding:0 8px; }
.hero-section { background:radial-gradient(circle at 50% 38%, rgba(212, 175, 55, 0.12), transparent 55%), linear-gradient(180deg, rgba(6,6,6,0.78), rgba(6,6,6,0.92)), url(../images/banner-bg.jpg) center/cover; color:var(--text-light); min-height:100vh; display:flex; align-items:center; padding-top:130px; padding-bottom:90px; }.hero-content { display:flex; align-items:center; gap:55px; }
.hero-text { flex:1.1; }
.hero-text .eyebrow { animation:slideInLeft 1s ease-out; }
.hero-text h1 { font-size:3.7rem; line-height:1.18; margin-bottom:24px; animation:slideInLeft 1s ease-out 0.1s both; }
.hero-text p { font-size:1.15rem; max-width:600px; margin-bottom:38px; color:var(--text-muted); animation:slideInLeft 1s ease-out 0.25s both; }
.hero-buttons { display:flex; gap:18px; flex-wrap:wrap; animation:slideInLeft 1s ease-out 0.4s both; }

.hero-image { flex:0.9; display:flex; justify-content:center; align-items:center; animation:slideInRight 1.1s ease-out 0.3s both; position:relative; }
.hero-image::before { content:""; position:absolute; inset:-14px; border:1px solid var(--line); border-radius:16px; transform:translate(14px, 14px); pointer-events:none; }
.hero-image img { max-width:100%; height:auto; border-radius:14px; box-shadow:0 20px 55px rgba(0, 0, 0, 0.6); filter:saturate(1.05) brightness(0.96); transition:transform 0.5s ease; }
.hero-image img:hover { transform:scale(1.02); }

.mt80 { margin-top:80px; }
.mt120 { margin-top:120px; }
.about-section { background:radial-gradient(circle at 85% 20%, rgba(212, 175, 55, 0.08), transparent 50%), linear-gradient(180deg, var(--ink), var(--ink-2)); }
.about-content { display:flex; align-items:center; gap:65px; }
.about-image { flex:1; display:flex; justify-content:center; align-items:center; position:relative; }
.about-image::before { content:""; position:absolute; inset:-14px; border:1px solid var(--line); border-radius:16px; transform:translate(-14px, 14px); pointer-events:none; }
.about-image img { max-width:100%; height:auto; border-radius:14px; box-shadow:0 16px 40px rgba(0, 0, 0, 0.5); filter:saturate(1.05) brightness(0.95); transition:transform 0.5s ease; }
.about-image img:hover { transform:scale(1.02); }
.about-text { flex:1; }
.about-text .tag { display:inline-block; font-family:"Jost", sans-serif; letter-spacing:0.3em; text-transform:uppercase; color:var(--gold); font-size:0.72rem; font-weight:500; margin-bottom:18px; }
.about-text .tag::before { content:"✦"; margin-right:10px; color:var(--gold-bright); }
.about-text h2 { font-size:2.4rem; margin-bottom:22px; }
.about-text p { color:var(--text-muted); margin-bottom:18px; line-height:1.85; }

.services-section { background:radial-gradient(circle at 15% 85%, rgba(212, 175, 55, 0.07), transparent 50%), linear-gradient(180deg, var(--ink-2), var(--ink)); }
.services-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:26px; }
.service-card { background:linear-gradient(170deg, var(--panel), var(--ink-2)); border-radius:4px; box-shadow:0 6px 20px rgba(0, 0, 0, 0.4); text-align:left; transition:all 0.4s ease; border:1px solid var(--line); overflow:hidden; position:relative; }
.service-card::before { content:""; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(90deg, transparent, var(--gold), transparent); opacity:0; transition:opacity 0.4s ease; }
.service-card:hover { transform:translateY(-8px); box-shadow:0 18px 40px rgba(0, 0, 0, 0.55), 0 0 0 1px var(--line-strong); border-color:var(--line-strong); }
.service-card:hover::before { opacity:1; }

.service-image { width:100%; height:180px; overflow:hidden; position:relative; }
.service-image::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(6,6,6,0.15) 0%, rgba(6,6,6,0.75) 100%); pointer-events:none; }
.service-image img { width:100%; height:100%; object-fit:cover; filter:saturate(1.05) brightness(0.85) sepia(0.12); transition:transform 0.6s ease, filter 0.6s ease; }
.service-card:hover .service-image img { transform:scale(1.08); filter:saturate(1.1) brightness(0.95) sepia(0.1); }

.service-body { padding:24px 24px 28px; }
.service-card h3 { font-size:1.18rem; margin-bottom:12px; color:var(--gold-bright); font-weight:500; }
.service-card p { font-size:0.92rem; color:var(--text-dim); margin-bottom:0; }

.areas-section { background:linear-gradient(180deg, var(--ink), var(--ink-2)); padding:80px 0; }
.areas-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:26px; margin-top:46px; }
.area-card { background:linear-gradient(170deg, var(--panel), var(--ink-2)); border-radius:4px; border:1px solid var(--line); overflow:hidden; transition:all 0.4s ease; }
.area-card:hover { transform:translateY(-6px); border-color:var(--line-strong); box-shadow:0 16px 34px rgba(0, 0, 0, 0.5); }
.area-card .service-image { height:160px; }
.area-card .service-body { padding:20px 22px 24px; }
.area-card h3 { font-size:1.05rem; margin-bottom:8px; color:var(--gold-bright); font-weight:500; }
.area-card p { font-size:0.88rem; color:var(--text-dim); margin-bottom:0; }

.areas-grid.city-grid { grid-template-columns:repeat(2, 1fr); max-width:760px; margin-left:auto; margin-right:auto; }

.map-wrap { margin-top:50px; border-radius:8px; overflow:hidden; border:1px solid var(--line); box-shadow:0 16px 40px rgba(0, 0, 0, 0.5); }
.map-wrap iframe { width:100%; height:380px; border:0; display:block; filter:grayscale(0.15) contrast(1.05); }

.maps-grid { display:grid; grid-template-columns:repeat(2, 1fr); gap:26px; margin-top:50px; }
.maps-grid .map-wrap { margin-top:0; }
.map-wrap-label { text-align:center; font-family:"Cinzel", serif; font-size:0.95rem; color:var(--gold-bright); letter-spacing:0.06em; margin-bottom:14px; }
.contact-strip { text-align:center; margin-top:42px; font-size:0.92rem; color:var(--text-dim); letter-spacing:0.02em; }
.contact-strip a { color:var(--gold-bright); font-weight:500; }
.contact-strip a:hover { color:var(--gold); }
.contact-strip .sep { margin:0 12px; color:var(--line-strong); }

.testimonials-section { background:
radial-gradient(circle at 50% 0%, rgba(212, 175, 55, 0.1), transparent 55%),
linear-gradient(180deg, var(--ink), #08070a); color:var(--text-light); }
.testimonials-section .section-title { color:var(--text-light); }
.testimonials-section .section-description { color:var(--text-dim); }

.testimonial-carousel { position:relative; max-width:820px; margin:0 auto; overflow:hidden; }
.carousel-inner { display:flex; transition:transform 0.8s ease-in-out; }
.testimonial-card { min-width:100%; background:linear-gradient(170deg, var(--panel), var(--ink-2)); padding:48px 44px; border-radius:6px; border:1px solid var(--line); box-shadow:0 12px 35px rgba(0, 0, 0, 0.45); text-align:center; display:flex; flex-direction:column; justify-content:center; align-items:center; }.testimonial-card .quote-icon { color:var(--gold); margin-bottom:18px; opacity:0.85; }
.testimonial-card .quote { font-family:"Georgia", serif; font-size:1.5rem; font-style:italic; color:var(--text-light); margin-bottom:22px; line-height:1.6; }.testimonial-card .author { font-family:"Cinzel", serif; font-weight:500; color:var(--gold); font-size:0.9rem; letter-spacing:0.08em; }
.testimonials-decorative { display:flex; justify-content:center; gap:24px; margin-bottom:50px; flex-wrap:wrap; }
.testimonial-img-circle { width:104px; height:104px; border-radius:50%; overflow:hidden; border:1px solid var(--line-strong); box-shadow:0 8px 22px rgba(0, 0, 0, 0.5); transition:transform 0.4s ease, border-color 0.4s ease, box-shadow 0.4s ease; padding:4px; }
.testimonial-img-circle:hover { transform:translateY(-5px) scale(1.04); border-color:var(--gold); box-shadow:0 10px 28px var(--shadow-gold); }
.testimonial-img-circle img { width:100%; height:100%; object-fit:cover; border-radius:50%; filter:saturate(1.05) brightness(0.95); }

.carousel-dots { display:flex; justify-content:center; margin-top:34px; gap:10px; }
.dot { width:9px; height:9px; border-radius:50%; background-color:rgba(212, 175, 55, 0.3); cursor:pointer; transition:all 0.3s ease; border:none; padding:0; }.dot.active { background:var(--gold-bright); transform:scale(1.25); box-shadow:0 0 8px var(--glow); }

.faq-section { background:radial-gradient(circle at 80% 30%, rgba(212, 175, 55, 0.07), transparent 50%), linear-gradient(180deg, #08070a, var(--ink-2)); }
.faq-wrapper { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start; }
.faq-image-wrapper { position:sticky; top:120px; }
.faq-image-wrapper img { width:100%; height:auto; border-radius:8px; border:1px solid var(--line); box-shadow:0 16px 40px rgba(0, 0, 0, 0.55); filter:saturate(1.05) brightness(0.9); transition:transform 0.5s ease; }
.faq-image-wrapper img:hover { transform:scale(1.02); }
.faq-image-caption { text-align:center; margin-top:22px; font-family:"Georgia", serif; font-style:italic; font-size:1.25rem; color:var(--gold-soft); }
.faq-accordion { max-width:100%; margin:0; }
.accordion-item { border:1px solid var(--line); border-radius:4px; margin-bottom:14px; overflow:hidden; background:linear-gradient(170deg, var(--panel), var(--ink-2)); transition:border-color 0.3s ease; }
.accordion-item:hover { border-color:var(--line-strong); }
.accordion-header { width:100%; background-color:transparent; padding:20px 24px; font-family:"Cinzel", serif; font-size:1rem; font-weight:500; color:var(--text-light); border:none; text-align:left; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:16px; transition:color 0.3s ease; }
.accordion-header:hover { color:var(--gold-bright); }
.accordion-header .chevron { transition:transform 0.3s ease; color:var(--gold); flex-shrink:0; }
.accordion-header.active { color:var(--gold-bright); }
.accordion-header.active .chevron { transform:rotate(180deg); }
.accordion-content { padding:0 24px; max-height:0; overflow:hidden; transition:max-height 0.4s ease-out, padding 0.4s ease-out; }
.accordion-content p { padding:4px 0 22px 0; font-size:0.98rem; color:var(--text-dim); margin-bottom:0; line-height:1.75; }

.cta-banner { background:radial-gradient(circle at 50% 50%, rgba(212, 175, 55, 0.16), transparent 60%), linear-gradient(180deg, var(--ink-2), var(--ink)); color:var(--text-light); text-align:center; padding:100px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.cta-decorative-img { width:84px; height:84px; border-radius:50%; object-fit:cover; margin:0 auto 26px; display:block; border:1px solid var(--line-strong); padding:4px; box-shadow:0 8px 24px var(--shadow-gold); animation:gentlePulse 3.5s ease-in-out infinite; }

@keyframes gentlePulse { 0%, 100% { transform:scale(1); } 50% { transform:scale(1.06); } }

.cta-content h2 { font-size:2.5rem; margin-bottom:20px; }
.cta-content p { color:var(--text-muted); font-size:1.12rem; max-width:660px; margin:0 auto 38px auto; }

.contact-section { background:radial-gradient(circle at 20% 30%, rgba(212, 175, 55, 0.07), transparent 50%), linear-gradient(180deg, var(--ink), var(--ink-2)); }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:50px; }
.contact-info h3, .contact-form-container h3 { font-size:1.7rem; margin-bottom:24px; color:var(--gold-bright); font-weight:500; }.contact-info p.intro { font-size:1.02rem; margin-bottom:30px; color:var(--text-muted); }

.contact-image-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:14px; margin-bottom:32px; }
.contact-image-grid img { width:100%; height:110px; object-fit:cover; border-radius:4px; border:1px solid var(--line); filter:saturate(1.05) brightness(0.85) sepia(0.1); transition:transform 0.4s ease, filter 0.4s ease; }
.contact-image-grid img:hover { transform:scale(1.03); filter:saturate(1.1) brightness(0.95); }

.info-item { display:flex; align-items:flex-start; gap:16px; margin-bottom:22px; }
.info-item .info-icon { color:var(--gold); flex-shrink:0; width:22px; height:22px; margin-top:3px; }
.info-item .info-content { flex:1; }
.info-item strong { display:block; margin-bottom:4px; color:var(--text-light); font-family:"Cinzel", serif; font-weight:500; font-size:0.9rem; letter-spacing:0.04em; }.info-item span, .info-item a { color:var(--text-muted); font-size:0.98rem; line-height:1.6; }
.info-item a:hover { color:var(--gold-bright); }

.contact-form-container { background:linear-gradient(170deg, var(--panel), var(--ink-2)); padding:42px; border-radius:8px; border:1px solid var(--line); box-shadow:0 14px 40px rgba(0, 0, 0, 0.45); }
.contact-form .form-group { margin-bottom:20px; }
.contact-form label { display:block; font-weight:500; margin-bottom:8px; color:var(--text-light); font-size:0.85rem; letter-spacing:0.04em; }
.contact-form input, .contact-form select, .contact-form textarea { width:100%; padding:13px 16px; border:1px solid var(--line); border-radius:3px; font-size:0.98rem; transition:border-color 0.3s ease, box-shadow 0.3s ease; background-color:rgba(255, 255, 255, 0.03); color:var(--text-light); font-family:"Jost", sans-serif; }
.contact-form input::placeholder, .contact-form textarea::placeholder { color:var(--text-dim); }
.contact-form select { cursor:pointer; appearance:none; background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23d4af37' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e"); background-position:right 14px center; background-repeat:no-repeat; background-size:16px; padding-right:42px; }
.contact-form select option { background:var(--ink-2); color:var(--text-light); }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { outline:none; border-color:var(--gold); box-shadow:0 0 0 3px rgba(212, 175, 55, 0.12); }
.contact-form textarea { resize:vertical; min-height:130px; }

.contact-form .code { float:left; width:76%; }
.contact-form .captcha { float:left; background:#FFF; border-radius:3px; padding:16px 18px; margin-left:20px; border:#000 1px solid; }

.contact-form .btn { width:100%; padding:16px; font-size:0.85rem; margin-top:20px; }

.form-message { margin-top:20px; padding:15px 20px; border-radius:4px; font-weight:500; text-align:center; }
.form-message.success { background-color:rgba(212, 175, 55, 0.1); border:1px solid var(--line-strong); color:var(--gold-bright); }

.site-footer { background:linear-gradient(180deg, #08070a 0%, #030303 100%); color:var(--text-light); padding:80px 0 30px 0; position:relative; }
.site-footer::before { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg, transparent, var(--gold), transparent); }

.footer-content { display:grid; grid-template-columns:2fr 1fr 1.2fr 1fr; gap:40px; align-items:start; }
.footer-brand { display:flex; flex-direction:column; gap:20px; }
.footer-logo { display:flex; align-items:center; font-family:"Cinzel", serif; font-size:1.3rem; font-weight:700; letter-spacing:0.05em; color:var(--gold-bright); }
.footer-description { color:var(--text-dim); font-size:0.92rem; line-height:1.75; max-width:320px; }

.footer-social { display:flex; gap:12px; margin-top:8px; }
.social-link { display:flex; align-items:center; justify-content:center; width:40px; height:40px; background-color:rgba(212, 175, 55, 0.06); border-radius:50%; color:var(--gold); transition:all 0.3s ease; border:1px solid var(--line); }
.social-link:hover { background:linear-gradient(120deg, var(--gold-deep), var(--gold-bright)); color:#1a1303; transform:translateY(-3px); box-shadow:0 6px 18px var(--shadow-gold); }
.footer-section h4 { color:var(--text-light); font-size:1rem; font-weight:500; margin-bottom:26px; position:relative; letter-spacing:0.06em; }
.footer-section h4::after { content:''; position:absolute; bottom:-9px; left:0; width:28px; height:1px; background:linear-gradient(90deg, var(--gold), transparent); }.footer-section ul { list-style:none; display:flex; flex-direction:column; gap:11px; }
.footer-section ul li a { color:var(--text-dim); font-size:0.92rem; transition:all 0.3s ease; display:inline-block; }
.footer-section ul li a:hover { color:var(--gold-bright); transform:translateX(5px); }

.footer-contact-info { display:flex; flex-direction:column; gap:14px; }
.contact-item { display:flex; align-items:flex-start; gap:12px; color:var(--text-dim); font-size:0.9rem; line-height:1.55; }
.contact-item svg { color:var(--gold); width:18px; height:18px; flex-shrink:0; margin-top:2px; }

.footer-bottom { margin-top:50px; padding-top:25px; border-top:1px solid var(--line); text-align:center; }
.footer-bottom p { color:var(--text-dim); font-size:0.86rem; margin:0; letter-spacing:0.03em; }
.footer-bottom a { color:var(--gold); }

@keyframes slideInLeft { from { opacity:0; transform:translateX(-40px); } to { opacity:1; transform:translateX(0); } }
@keyframes slideInRight { from { opacity:0; transform:translateX(40px); } to { opacity:1; transform:translateX(0); } }
@keyframes fadeInUp { from { opacity:0; transform:translateY(30px); } to { opacity:1; transform:translateY(0); } }

.section-content { opacity:0; transform:translateY(30px); transition:all 0.7s cubic-bezier(0.4, 0, 0.2, 1); }
.section-content.animate-in { opacity:1; transform:translateY(0); }
.section-content.animate-in .service-card { animation:fadeInUp 0.6s ease-out both; }
.service-card:nth-child(1) { animation-delay:0.05s; }
.service-card:nth-child(2) { animation-delay:0.1s; }
.service-card:nth-child(3) { animation-delay:0.15s; }
.service-card:nth-child(4) { animation-delay:0.2s; }
.service-card:nth-child(5) { animation-delay:0.25s; }
.service-card:nth-child(6) { animation-delay:0.3s; }

@media (prefers-reduced-motion:reduce) { * { animation:none !important; transition:none !important; } .section-content { opacity:1; transform:none; } }

@media (max-width:992px) { 
h1 { font-size:2.6rem; } 
.hero-text h1 { font-size:2.6rem; } 
.section-title { font-size:2rem; } 
.main-nav { display:none; } 
.menu-toggle { display:block; } 
.book-appointment-btn { display:none; } 
.hero-content, .about-content { flex-direction:column; text-align:center; } 
.hero-buttons { justify-content:center; } .hero-image::before, .about-image::before { display:none; } 
.services-grid { grid-template-columns:repeat(2, 1fr); } .areas-grid { grid-template-columns:repeat(2, 1fr); } 
.contact-grid { grid-template-columns:1fr; } .faq-wrapper { grid-template-columns:1fr; gap:40px; } .faq-image-wrapper { position:static; max-width:520px; margin:0 auto; } .footer-content { grid-template-columns:1fr 1fr; gap:35px; } .footer-brand { grid-column:1 / -1; } }

@media (max-width:768px) { 
section { padding:75px 0; } 
h1 { font-size:2.1rem; } 
h2 { font-size:1.7rem; } 
.hero-text h1 { font-size:2.1rem; } 
.services-grid { grid-template-columns:1fr; } 
.areas-grid { grid-template-columns:1fr; } 
.maps-grid { grid-template-columns:1fr; } 
.contact-form-container { padding:26px; } 
.contact-form .code { float:left; width:55%; }

.contact-image-grid { grid-template-columns:repeat(2, 1fr); } 
.testimonial-img-circle { width:78px; height:78px; } 
.footer-content { grid-template-columns:1fr; } }

@media (max-width:480px) { 
.container { padding:0 18px; } 
.hero-text h1 { font-size:1.85rem; } 
.hero-buttons { flex-direction:column; gap:12px; width:100%; } 
.hero-buttons .btn { width:100%; } 
.testimonial-card { padding:34px 22px; }

}