/* ===== Шрифты: self-hosted; font-display:optional убирает CLS от поздней подмены шрифта ===== */
@font-face{font-family:'Comfortaa';font-style:normal;font-weight:500 700;font-display:optional;src:url('../fonts/comfortaa-cyrillic.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Comfortaa';font-style:normal;font-weight:500 700;font-display:optional;src:url('../fonts/comfortaa-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+2000-206F,U+2190-2193,U+2212}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:600 800;font-display:optional;src:url('../fonts/playfair-display-cyrillic.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:600 800;font-display:optional;src:url('../fonts/playfair-display-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+2000-206F,U+2190-2193,U+2212}
@font-face{font-family:'Inter';font-style:normal;font-weight:300 700;font-display:optional;src:url('../fonts/inter-cyrillic.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Inter';font-style:normal;font-weight:300 700;font-display:optional;src:url('../fonts/inter-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+2000-206F,U+2190-2193,U+2212}

:root {
  --bg-page: #f7f4ef;
  --bg-card: #ffffff;
  --bg-card-alt: #f5f1eb;
  --green-deep: #0a1f12;
  --green-dark: #0d2818;
  --green-mid: #1a3a2a;
  --green-light: #2d5a3e;
  --gold: #e3c877;
  --gold-light: #eed89a;
  --gold-dim: #c9a84c;
  --text-primary: #1a1a1a;
  --text-secondary: #5c5c5c;
  --text-muted: #949494;
  --text-on-dark: rgba(255,255,255,.88);
  --text-on-dark-muted: rgba(255,255,255,.5);
  --border-subtle: rgba(0,0,0,.06);
  --font-heading: 'Comfortaa', 'Playfair Display', Georgia, serif;
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 20px;
  --shadow-card: 0 1px 3px rgba(0,0,0,.04), 0 4px 16px rgba(0,0,0,.06);
  --shadow-hover: 0 4px 12px rgba(0,0,0,.06), 0 12px 40px rgba(0,0,0,.08);
  --shadow-hero: 0 30px 60px rgba(0,0,0,.3);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font-body);font-size:16px;line-height:1.7;color:var(--text-primary);background:var(--bg-page);overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1.5rem}
.section{padding:6rem 0}
.section-heading{text-align:center;margin-bottom:3.5rem;position:relative}
.section-heading::before{content:'';display:block;width:90px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:0 auto 1.5rem}
.section-heading::after{content:'◆';display:block;position:absolute;top:-.9rem;left:50%;transform:translateX(-50%);color:var(--gold);font-size:.7rem}
.section-suptitle{display:inline-block;font-size:.8rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem}
.section-title{font-family:var(--font-heading);font-size:2.6rem;font-weight:700;color:var(--green-deep);line-height:1.15;margin-bottom:.5rem}
@media(max-width:768px){.section-title{font-size:2rem}}
.section-desc{font-size:1.05rem;color:var(--text-secondary);max-width:500px;margin:0 auto}
.accent-line{width:50px;height:3px;background:var(--gold);border-radius:2px;margin:1rem 0}

.section-pattern{position:relative;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.03'/%3E%3C/svg%3E")}
.section-weather{background:var(--bg-page);padding:3rem 0;position:relative;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.03'/%3E%3C/svg%3E")}
.weather-widget{text-align:center;min-height:100px}
.weather-card{display:inline-flex;align-items:center;gap:1.25rem;padding:1.5rem 2.5rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);text-decoration:none}
.weather-temp{font-size:2.6rem;font-weight:800;color:var(--green-deep);line-height:1}
.weather-temp small{font-size:1rem;font-weight:400;color:var(--text-muted)}
.weather-info{text-align:left}
.weather-info .city{font-size:1rem;font-weight:700;color:var(--green-deep);display:block}
.weather-info .desc{font-size:.85rem;color:var(--text-secondary);display:block}
.weather-info .detail{font-size:.78rem;color:var(--text-muted);display:block;margin-top:.25rem}
.weather-loading{color:var(--text-muted);font-size:.9rem;padding:2rem}

.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.8rem 2rem;font-size:.95rem;font-weight:600;border-radius:50px;cursor:pointer;transition:all .35s cubic-bezier(.25,.46,.45,.94);text-align:center;border:1.5px solid transparent;letter-spacing:.02em;position:relative;overflow:hidden}
.btn-primary{background:var(--gold);color:var(--green-deep);border-color:var(--gold)}
.btn-primary:hover{background:var(--gold-dim);border-color:var(--gold-dim);transform:translateY(-2px);box-shadow:0 6px 20px rgba(201,168,76,.35)}
.btn::after{content:'';position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.4),transparent);transform:skewX(-20deg);transition:left .6s ease}
.btn:hover::after{left:130%}
.btn-outline{background:transparent;color:var(--green-deep);border-color:rgba(201,168,76,.5)}
.btn-outline:hover{background:var(--gold);border-color:var(--gold);color:var(--green-deep);transform:translateY(-2px)}
.btn-cta{display:block;width:100%;text-align:center;justify-content:center}

.site-header{position:fixed;top:0;left:0;right:0;z-index:1000;background:linear-gradient(180deg,rgba(12,34,20,.95) 0%,rgba(26,58,36,.92) 55%,rgba(38,74,46,.88) 100%);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(201,168,76,.18);transition:all .35s ease}
.site-header.shrink{height:60px;background:linear-gradient(180deg,rgba(10,31,18,.97) 0%,rgba(22,52,32,.94) 100%)}
.site-header.shrink .header-inner{height:60px}
.site-header.shrink .logo-mark-img{width:56px;height:56px}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:80px;transition:height .35s ease}
.logo{display:flex;align-items:center;gap:.85rem;margin-left:2rem}
.logo-mark-img{width:72px;height:72px;object-fit:contain;border-radius:4px;transition:all .35s ease}
.logo-text{font-family:var(--font-heading);font-size:1.35rem;font-weight:700;color:#fff;letter-spacing:.08em}
.nav-list{display:flex;gap:.15rem}
.nav-list li{position:relative}
.nav-list li:not(:last-child)::after{content:'';position:absolute;right:-.08rem;top:20%;bottom:20%;width:1px;background:linear-gradient(180deg,transparent,rgba(201,168,76,.45),transparent)}
.nav-list li a{display:block;padding:.6rem 1.15rem;color:rgba(255,255,255,.75);font-size:.88rem;font-weight:600;border-radius:8px;transition:all .35s ease;position:relative;overflow:hidden;z-index:1;background:linear-gradient(135deg,transparent 40%,rgba(227,200,119,.15) 50%,transparent 60%);background-size:200% 100%;background-position:100% 0}
.nav-list li a:hover{color:var(--green-deep);background:linear-gradient(135deg,var(--gold-light),var(--gold) 60%,var(--gold-dim));background-size:100% 100%;background-position:0 0;box-shadow:0 0 18px rgba(201,168,76,.45),0 0 40px rgba(201,168,76,.15)}
.nav-list li.current-menu-item a{background:linear-gradient(135deg,var(--gold),var(--gold-dim));color:var(--green-deep);box-shadow:0 2px 10px rgba(201,168,76,.35)}
.nav-list li.current-menu-item a::after{transform:scaleX(0)}
.nav-list li.current-menu-item a:hover{background:linear-gradient(135deg,var(--gold-light),var(--gold));color:var(--green-deep)}
.nav-list li.nav-contact{margin-left:auto}
.btn-header{padding:.7rem 1.5rem;font-size:.9rem;margin-left:.5rem;white-space:nowrap;overflow:visible;background:linear-gradient(180deg,var(--gold-light),var(--gold) 40%,var(--gold-dim) 85%,#b89840);box-shadow:inset 0 1px 0 rgba(255,255,255,.6),inset 0 -4px 8px rgba(120,90,20,.4),0 4px 14px rgba(10,31,18,.4);border-color:var(--gold-dim);text-shadow:0 1px 1px rgba(255,255,255,.35);letter-spacing:.03em;transition:background .35s ease,box-shadow .35s ease,transform .25s ease}
.btn-header::after{display:none}
.btn-header:hover{background:linear-gradient(0deg,var(--gold-light),var(--gold) 40%,var(--gold-dim) 85%,#b89840);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.5),inset 0 -4px 8px rgba(120,90,20,.45),0 8px 22px rgba(10,31,18,.5);transform:translateY(-2px);text-shadow:none}
.btn-header:active{transform:translateY(1px);box-shadow:inset 0 3px 8px rgba(120,90,20,.5),0 2px 6px rgba(10,31,18,.3)}
@media(max-width:1024px){.btn-header{display:none}}
.nav-list li.menu-item-has-children{position:relative}

/* ===== Sub-menu: вертикальный поток, max-content, clamp для длинных названий ===== */
.nav-list .sub-menu{position:absolute;top:100%;left:0;width:max-content;max-width:min(420px,calc(100vw - 2rem));background:rgba(10,31,18,.98);backdrop-filter:blur(12px);border:1px solid rgba(201,168,76,.25);border-radius:10px;padding:.5rem;display:flex;flex-direction:column;gap:.15rem;opacity:0;visibility:hidden;transform:translateY(8px);transition:all .45s cubic-bezier(.25,.46,.45,.94);z-index:100;box-shadow:0 12px 30px rgba(0,0,0,.35)}
.nav-list li.menu-item-has-children:hover .sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.nav-list .sub-menu li a{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;padding:.5rem .9rem;color:rgba(255,255,255,.8);font-size:.82rem;font-weight:500;border-radius:6px;white-space:normal;line-height:1.35;background:transparent;position:relative;transition:color .25s ease,background .25s ease}
.nav-list .sub-menu li a::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(227,200,119,.25),transparent);transition:left .5s ease;pointer-events:none}
.nav-list .sub-menu li a:hover::before{left:100%}
.menu-item-desc{display:block;font-size:.68rem;font-weight:400;color:rgba(255,255,255,.5);margin-top:2px;white-space:normal;line-height:1.3}
.nav-list .sub-menu li a:hover{color:#fff;background:rgba(201,168,76,.2);box-shadow:inset 0 0 0 1px rgba(201,168,76,.3)}
@media(max-width:768px){.nav-list .sub-menu{width:auto;max-width:100%;padding:.35rem}.nav-list .sub-menu li a{-webkit-line-clamp:unset;display:block}}

.menu-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:.5rem;position:relative;z-index:1001}
.menu-toggle span{display:block;width:26px;height:2px;background:var(--gold);border-radius:2px;transition:all .3s ease}
.menu-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.menu-toggle.active span:nth-child(2){opacity:0}
.menu-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:center;overflow:hidden;padding-top:80px}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;background-size:cover;background-position:center;transform:translateZ(0);will-change:transform;animation:kenburns 24s ease-in-out infinite alternate}
@media(max-width:1024px){.hero{padding-top:70px}.hero-bg{object-position:top center;background-position:top center}}
.hero-overlay{position:absolute;inset:0;background:rgba(10,31,18,var(--hero-darken,0));z-index:1;pointer-events:none}
.hero-content{position:relative;z-index:2;text-align:center;color:#fff;padding:3rem 1rem;max-width:800px}
.hero-suptitle{display:inline-block;font-size:1rem;font-weight:700;letter-spacing:.25em;text-transform:uppercase;color:var(--gold-light);margin-bottom:1rem;opacity:1}
.hero-title{font-family:var(--font-heading);font-size:4.2rem;font-weight:800;line-height:1.08;margin-bottom:1.5rem;text-shadow:0 2px 30px rgba(0,0,0,.5),0 4px 60px rgba(0,0,0,.3)}
.hero-divider{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:1.5rem}
.hero-divider span{display:block;width:70px;height:2px;background:var(--gold);border-radius:1px}
.hero-subtitle{font-size:1.35rem;opacity:.95;margin-bottom:.8rem;max-width:680px;margin-left:auto;margin-right:auto;font-weight:400}
.hero-text{font-size:1.15rem;opacity:.85;margin-bottom:1.5rem;max-width:600px;margin-left:auto;margin-right:auto}
.hero-tagline{font-family:var(--font-heading);font-size:1.5rem;font-style:italic;font-weight:600;margin-bottom:2.5rem;color:var(--gold-light)}
@keyframes kenburns{0%{transform:translateZ(0) scale(1)}100%{transform:translateZ(0) scale(1.08)}}
.hero-scroll{position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:.5rem;color:rgba(255,255,255,.8);transition:color .3s ease}
.hero-scroll:hover{color:var(--gold-light)}
.hero-scroll-mouse{width:24px;height:38px;border:2px solid currentColor;border-radius:12px;display:flex;justify-content:center;padding-top:6px}
.hero-scroll-wheel{width:4px;height:8px;background:currentColor;border-radius:2px;animation:scrollwheel 1.8s ease-in-out infinite}
@keyframes scrollwheel{0%{transform:translateY(0);opacity:1}70%{transform:translateY(14px);opacity:0}100%{transform:translateY(0);opacity:0}}
.hero-scroll-text{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase}
@media(max-width:768px){.hero-title{font-size:2.6rem}.hero-tagline{font-size:1.2rem}.hero-scroll{display:none}.hero-suptitle{font-size:.8rem}.hero-subtitle{font-size:1.2rem}.hero-text{font-size:1rem}}
@media(max-width:480px){.hero-title{font-size:2rem}}

.section-intro{padding:2rem 0;background:var(--bg-page)}
.seo-intro{max-width:860px;margin:0 auto}
.seo-intro p{font-size:1.1rem;color:var(--text-secondary);line-height:1.8;text-align:center;padding:2rem;border:1.5px solid var(--gold);border-radius:var(--radius-lg);background:rgba(227,200,119,.05);max-width:820px;margin:0 auto}
.wave-divider{line-height:0;overflow:hidden;display:none}
.wave-divider svg{width:100%;height:60px;display:block}
.wave-divider-invert{transform:scaleY(-1)}

.section-houses{padding-top:0;padding-bottom:2rem}
.houses-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;max-width:900px;margin:0 auto}
.house-card{background:var(--bg-card);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card);transition:all .5s cubic-bezier(.25,.46,.45,.94);display:flex;flex-direction:column;opacity:0;transform:translateY(40px);position:relative}
.house-card::after{content:'';position:absolute;inset:0;border:1.5px solid var(--gold);border-radius:var(--radius-lg);opacity:0;transform:scale(.98);transition:all .45s cubic-bezier(.25,.46,.45,.94);pointer-events:none}
.house-card.reveal{opacity:1;transform:translateY(0)}
.house-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-hover)}
.house-card:hover::after{opacity:1;transform:scale(1)}
.house-card-media{position:relative;height:220px;overflow:hidden;background:var(--bg-card-alt)}
.house-slider{position:absolute;inset:0;overflow:hidden}
.house-slider-track{display:flex;height:100%;transition:transform .6s cubic-bezier(.25,.46,.45,.94)}
.house-slider-slide{flex:0 0 100%;height:100%}
.house-slider-slide img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.25,.46,.45,.94)}
.house-card:hover .house-slider-slide img{transform:scale(1.06)}
.house-slider-dots{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);display:flex;gap:6px;z-index:3}
.house-slider-dots span{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.6);cursor:pointer;transition:all .3s ease}
.house-slider-dots span.active{background:var(--gold);width:16px;border-radius:3px}
.house-badge{position:absolute;top:14px;left:14px;z-index:2;padding:.3rem .85rem;background:var(--gold);color:var(--green-deep);font-size:.7rem;font-weight:700;border-radius:4px;text-transform:uppercase;letter-spacing:.06em}
.house-price-float{position:absolute;right:14px;bottom:14px;z-index:3;background:rgba(10,31,18,.85);backdrop-filter:blur(6px);color:#fff;padding:.45rem .9rem;border-radius:8px;font-family:var(--font-heading);font-size:1.05rem;font-weight:700;border:1px solid rgba(201,168,76,.4)}
.house-price-float span{font-size:.7rem;font-weight:500;color:rgba(255,255,255,.7)}
.house-card-body{padding:1.5rem;flex:1;display:flex;flex-direction:column}
.house-card-body h3{font-family:var(--font-heading);font-size:1.2rem;font-weight:700;margin-bottom:.65rem;color:var(--green-deep)}
.house-features{margin-bottom:1.25rem;flex:1}
.house-features li{position:relative;padding-left:1.65rem;margin-bottom:.4rem;font-size:.88rem;color:var(--text-secondary);line-height:1.5}
.house-features li::before{content:attr(data-icon);position:absolute;left:0;font-size:.95rem}
.house-meta{display:flex;gap:1rem;font-size:.8rem;color:var(--text-muted);margin-bottom:.65rem}
.house-note{font-size:.82rem;color:var(--green-light);font-weight:500;margin-bottom:1rem}

.section-services{background:var(--bg-card);padding-top:1.5rem}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:960px;margin:0 auto}
.service-card{background:var(--bg-card-alt);border-radius:var(--radius-lg);overflow:hidden;transition:all .45s cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateY(40px)}
.service-card.reveal{opacity:1;transform:translateY(0)}
.service-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-hover)}
.service-card-img{height:190px;overflow:hidden;background:var(--bg-card-alt);display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:var(--green-mid);font-weight:600}
.service-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.service-card:hover .service-card-img img{transform:scale(1.05)}
.service-card-body{padding:1.5rem}
.service-card-body h3{font-family:var(--font-heading);font-size:1.1rem;font-weight:700;margin-bottom:.5rem;color:var(--green-deep)}
.service-card-body p{font-size:.88rem;color:var(--text-secondary);margin-bottom:.5rem}
.service-card-body ul{list-style:disc;padding-left:1.25rem;font-size:.88rem;color:var(--text-secondary)}
.service-card-body ul li{margin-bottom:.25rem}
.service-price{font-family:var(--font-heading);font-weight:700;color:var(--green-deep)!important;font-size:1.1rem!important}

.section-about{background:var(--bg-card)}
.about-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.about-text h2{font-family:var(--font-heading);font-size:2.2rem;font-weight:700;color:var(--green-deep);margin-bottom:.75rem;line-height:1.15}
.about-text p{margin-bottom:1rem;color:var(--text-secondary);font-size:.95rem}
.about-text strong{color:var(--green-deep)}
.about-text a{color:var(--gold);font-weight:600}
.about-text a:hover{text-decoration:underline}
.about-photo{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card);background:var(--bg-card-alt);min-height:350px;display:flex;align-items:center;justify-content:center;color:var(--green-mid);font-weight:600;font-size:1.1rem}
.about-photo img{width:100%;height:100%;object-fit:cover}

.advantages-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem}
.advantage-card{text-align:center;padding:2.5rem 1.5rem;background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:all .4s cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateY(40px);border:1px solid var(--border-subtle)}
.advantage-card.reveal{opacity:1;transform:translateY(0)}
.advantage-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-hover)}
.advantage-icon{width:72px;height:72px;margin:0 auto 1.25rem;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e8f0e8,#d4e0d4);border-radius:50%;font-size:1.8rem}
.advantage-icon svg{width:36px;height:36px}
.advantage-card h3{font-family:var(--font-heading);font-size:1.2rem;font-weight:700;color:var(--green-deep);margin-bottom:.5rem}
.advantage-card p{font-size:.88rem;color:var(--text-secondary);line-height:1.6}

.section-booking{background:transparent;position:relative;overflow:hidden;padding-top:0}
.section-booking .booking-card{max-width:720px;margin:0 auto;padding:2.5rem;background:linear-gradient(160deg,#0a1f12,#0d2818 60%,#1a3a2a);border-radius:var(--radius-lg);border:1px solid rgba(201,168,76,.35);box-shadow:0 10px 40px rgba(10,31,18,.25);position:relative}
.section-booking .booking-card::before{content:'';position:absolute;top:-50%;right:-20%;width:600px;height:600px;background:radial-gradient(circle,rgba(201,168,76,.08) 0%,transparent 70%);border-radius:50%;pointer-events:none}
.section-booking .booking-card>*{position:relative;z-index:1}
.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;max-width:640px;margin:0 auto 1.5rem}
.booking-field{display:flex;flex-direction:column}
.booking-field label{font-size:.82rem;font-weight:600;color:rgba(255,255,255,.7);margin-bottom:.35rem;letter-spacing:.04em}
.booking-field input,.booking-field textarea{padding:.75rem 0;border:none;border-bottom:1px solid rgba(255,255,255,.25);border-radius:0;background:transparent;color:#fff;font-size:.92rem;font-family:var(--font-body);transition:all .3s ease}
.booking-field input::placeholder,.booking-field textarea::placeholder{color:rgba(255,255,255,.3)}
.booking-field input:focus,.booking-field textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 1px 0 0 var(--gold)}
.booking-field-wide{grid-column:1/-1}
.booking-grid textarea{resize:vertical;min-height:80px}
.section-booking .btn-primary{display:block;margin:0 auto}
.booking-note{text-align:center;margin-top:.75rem;font-size:.82rem;color:rgba(255,255,255,.45)}
.booking-success{max-width:600px;margin:0 auto 1.5rem;padding:1rem 1.5rem;background:rgba(201,168,76,.1);border:1px solid var(--gold);border-radius:var(--radius-sm);text-align:center;color:var(--gold-light);font-weight:500}
.booking-form-msg{display:none;max-width:640px;margin:.75rem auto 0;padding:.6rem 1rem;background:rgba(201,168,76,.12);border:1px solid rgba(201,168,76,.4);border-radius:var(--radius-sm);text-align:center;color:var(--gold-light);font-size:.85rem}
.booking-form-msg.show{display:block}
.booking-total{max-width:640px;margin:.5rem auto 0;text-align:center;font-family:var(--font-heading);font-weight:700;font-size:1.05rem;color:var(--gold-light)}
.page-content .booking-form{max-width:640px;margin:0 auto;padding:2rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}
.page-content .booking-field label{color:var(--text-primary)}
.page-content .booking-field input,.page-content .booking-field textarea{color:var(--text-primary);border-bottom:1px solid rgba(0,0,0,.18)}
.page-content .booking-field input::placeholder,.page-content .booking-field textarea::placeholder{color:var(--text-muted)}
.page-content .booking-field input:focus,.page-content .booking-field textarea:focus{border-color:var(--gold);box-shadow:0 1px 0 0 var(--gold)}
.page-content .booking-note{color:var(--text-muted)}
.page-content .booking-total{color:var(--green-deep)}
.contact-form-wrap{max-width:640px;margin:4rem auto 3rem;padding:2rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:all .4s cubic-bezier(.25,.46,.45,.94)}
.contact-form-wrap:hover{transform:translateY(-4px);box-shadow:0 8px 30px rgba(0,0,0,.08),0 0 0 1px rgba(201,168,76,.25)}
.contact-form-wrap .booking-field label{color:var(--text-primary)}
.contact-form-wrap .booking-field input,.contact-form-wrap .booking-field textarea{color:var(--text-primary);border-bottom:1px solid rgba(0,0,0,.18)}
.contact-form-wrap .booking-field input::placeholder,.contact-form-wrap .booking-field textarea::placeholder{color:var(--text-muted)}
.contact-form-wrap .booking-field input:focus,.contact-form-wrap .booking-field textarea:focus{border-color:var(--gold);box-shadow:0 1px 0 0 var(--gold)}
.contact-form-wrap .btn-primary{display:block;margin:0 auto}
.contact-form-wrap + h3, h3.has-text-align-center{text-align:center}

.scroll-top{position:fixed;bottom:2rem;right:2rem;z-index:999;width:46px;height:46px;border-radius:50%;background:var(--gold);color:var(--green-deep);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 12px rgba(0,0,0,.15);transition:all .35s ease;opacity:0;visibility:hidden;transform:translateY(20px)}
.scroll-top.visible{opacity:1;visibility:visible;transform:translateY(0)}
.scroll-top:hover{background:var(--gold-dim);transform:translateY(-3px);box-shadow:0 6px 20px rgba(201,168,76,.3)}

.page-header{padding:9rem 0 3.5rem;text-align:center;position:relative;overflow:hidden;background:linear-gradient(160deg,#0a1f12 0%,#14341f 55%,#1a3a2a 100%)}
.page-header-texture{position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Ccircle cx='4' cy='4' r='1.1' fill='%23e3c877' fill-opacity='0.14'/%3E%3C/svg%3E");background-size:8px 8px;pointer-events:none}
.page-header .container{position:relative;z-index:1}
.breadcrumbs{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:.75rem;font-size:.8rem;color:rgba(255,255,255,.6)}
.breadcrumbs a{color:rgba(255,255,255,.6);transition:color .25s ease}
.breadcrumbs a:hover{color:var(--gold)}
.breadcrumbs-sep{color:rgba(255,255,255,.35)}
.breadcrumbs-current{color:var(--gold-light)}
.page-title{font-family:var(--font-heading);font-size:2.4rem;font-weight:700;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.3)}
.page-content{padding:3rem 0 5rem;min-height:40vh}
.page-content h2{font-family:var(--font-heading);font-size:1.5rem;color:var(--green-deep);margin:2rem 0 .75rem}
.page-content h3{font-size:1.15rem;color:var(--green-deep);margin:1.5rem 0 .5rem}
.page-content p{margin-bottom:1rem;color:var(--text-secondary)}
.page-content ul{list-style:disc;padding-left:1.5rem;margin-bottom:1rem}
.page-content ul li{margin-bottom:.35rem;color:var(--text-secondary)}
.page-content .btn{margin-top:1rem}
.page-content .wp-block-table{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card);margin-bottom:1.5rem}
.page-content .wp-block-table table{width:100%;border-collapse:separate;border-spacing:0;background:var(--bg-card);border-radius:var(--radius-lg);overflow:hidden}
.page-content .wp-block-table thead th{background:linear-gradient(135deg,var(--green-deep),var(--green-mid));color:#fff;font-family:var(--font-heading);font-weight:600;padding:.9rem 1.25rem;text-align:left}
.page-content .wp-block-table thead th:first-child{border-top-left-radius:var(--radius-lg)}
.page-content .wp-block-table thead th:last-child{border-top-right-radius:var(--radius-lg)}
.page-content .wp-block-table tbody tr:last-child td:first-child{border-bottom-left-radius:var(--radius-lg)}
.page-content .wp-block-table tbody tr:last-child td:last-child{border-bottom-right-radius:var(--radius-lg)}
.page-content .wp-block-table tbody td{padding:.75rem 1.25rem;border-top:1px solid var(--border-subtle);color:var(--text-secondary)}
.page-content .wp-block-table tbody tr:nth-child(even){background:var(--bg-card-alt)}
.page-content .wp-block-table tbody tr:hover{background:rgba(201,168,76,.08)}
.page-content .wp-block-table tbody td:last-child{font-weight:600;color:var(--green-deep);white-space:nowrap;width:140px;text-align:right}
.page-content .wp-block-table thead th:last-child{width:140px;text-align:right}

.info-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;margin:1.5rem 0}
.info-card{display:flex;align-items:center;gap:1rem;padding:1.15rem 1.25rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-card);transition:all .3s cubic-bezier(.25,.46,.45,.94);position:relative;overflow:hidden}
.info-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--gold);transform:scaleY(0);transition:transform .3s ease}
.info-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover);border-color:rgba(201,168,76,.4)}
.info-card:hover::before{transform:scaleY(1)}
.info-card-icon{font-size:1.6rem;flex:0 0 auto;line-height:1}
.info-card-body{display:flex;flex-direction:column;gap:.15rem;flex:1}
.info-card-body strong{font-family:var(--font-heading);font-size:1rem;color:var(--green-deep)}
.info-card-body em{font-style:normal;font-size:.8rem;color:var(--text-muted)}
.info-card-arrow{color:var(--gold);font-size:1.2rem;transition:transform .3s ease}
.info-card:hover .info-card-arrow{transform:translateX(4px)}
.map-wrap{margin:1.5rem 0;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card)}
.map-wrap iframe{display:block}
.page-content .alignfull{margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%);width:100vw;max-width:100vw;margin-bottom:0}
.page-content .alignfull img{width:100%;height:auto;border-radius:0;display:block}
.page-content > .alignfull:last-child{margin-bottom:calc(-1 * 5rem)}

.section-reviews{background:var(--bg-page)}
.reviews-slider{position:relative;overflow:hidden}
.reviews-track{display:flex;transition:transform .6s ease}
.review-card{background:var(--bg-card);border-radius:var(--radius-lg);padding:1.75rem;box-shadow:var(--shadow-card);border:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:.75rem;flex:0 0 100%;box-sizing:border-box}
@media (min-width:768px){.review-card{flex-basis:33.333%}}
.review-stars{color:var(--gold);font-size:1.1rem;letter-spacing:.1em}
.review-text{font-size:.92rem;color:var(--text-secondary);line-height:1.6;font-style:italic;flex:1}
.review-author{font-size:.85rem;font-weight:600;color:var(--green-deep)}
.reviews-hint{font-size:.78rem;color:var(--text-muted);text-align:center;margin-top:1rem;font-style:italic}

.site-footer{color:var(--text-on-dark);padding-top:4rem;position:relative;overflow:hidden;background:radial-gradient(1100px 520px at 80% -5%, rgba(64,110,74,.55) 0%, transparent 60%),radial-gradient(800px 420px at 8% 115%, rgba(80,130,90,.45) 0%, transparent 55%),radial-gradient(600px 300px at 50% 60%, rgba(45,90,62,.25) 0%, transparent 70%),linear-gradient(180deg,#14341f 0%,#0e2717 45%,#081b0f 100%)}
.site-footer::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.5;z-index:2}
.site-footer::after{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20'%3E%3Cpath d='M0 0L20 20M20 0L0 20' stroke='%23e3c877' stroke-opacity='0.07' stroke-width='1'/%3E%3C/svg%3E");background-size:20px 20px;pointer-events:none;opacity:.9}
.footer-main{display:flex;gap:3rem;align-items:flex-start;padding-bottom:2.5rem;border-bottom:1px solid rgba(255,255,255,.06);position:relative;z-index:3}
.footer-logo-col{flex:0 0 auto;padding-top:.25rem}
.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2.5rem;flex:1}
.footer-title{font-family:var(--font-heading);font-size:1.1rem;font-weight:700;color:var(--gold);margin-bottom:1rem}
.footer-logo{display:inline-block;transition:opacity .25s ease}
.footer-logo img{width:160px;height:160px;object-fit:contain}
.footer-logo:hover{opacity:.85}
.footer-logo-name{margin-top:.6rem;font-family:var(--font-heading);font-size:.95rem;font-weight:700;color:#fff;letter-spacing:.03em;text-align:center;line-height:1.3}
.footer-logo-name a{color:#fff;transition:color .25s ease}
.footer-logo-name a:hover{color:var(--gold)}
.footer-block p{margin-bottom:.35rem;font-size:.88rem;color:var(--text-on-dark-muted)}
.footer-strong{font-weight:700;margin-top:.5rem}
.footer-strong a{color:var(--gold);transition:color .25s ease}
.footer-strong a:hover{color:var(--gold-light)}
.footer-phone{display:inline-block;font-size:.95rem;font-weight:600;color:#fff;transition:color .25s ease;margin-bottom:.15rem}
.footer-phone:hover{color:var(--gold)}
.footer-social{display:flex;gap:.5rem;margin-top:.85rem}
.footer-social a{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;background:rgba(255,255,255,.07);border-radius:50%;color:#fff;transition:all .3s ease;border:1px solid rgba(255,255,255,.1);position:relative}
.footer-social a svg{width:20px;height:20px}
.footer-social a:hover{transform:translateY(-3px);color:#fff;box-shadow:0 4px 14px rgba(0,0,0,.3)}
.footer-social a.social-vk:hover{background:#4c75a3;border-color:#4c75a3}
.footer-social a.social-tg:hover{background:#2aabee;border-color:#2aabee}
.footer-social a.social-wa:hover{background:#25d366;border-color:#25d366}
.footer-social a::after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(4px);background:rgba(10,20,12,.95);color:#fff;font-size:.72rem;font-weight:600;letter-spacing:.02em;padding:.35rem .7rem;border-radius:6px;white-space:nowrap;opacity:0;visibility:hidden;transition:all .25s ease;box-shadow:0 4px 12px rgba(0,0,0,.25);pointer-events:none;z-index:10}
.footer-social a::before{content:'';position:absolute;bottom:calc(100% + 4px);left:50%;transform:translateX(-50%);border:4px solid transparent;border-top-color:rgba(10,20,12,.95);opacity:0;visibility:hidden;transition:opacity .25s ease;pointer-events:none;z-index:10}
.footer-social a:hover::after,.footer-social a:hover::before{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.footer-nav-list li a{display:inline-block;padding:.2rem 0;font-size:.88rem;color:rgba(255,255,255,.6);transition:color .25s ease}
.footer-nav-list li a:hover{color:var(--gold)}
.footer-bottom{padding:1.5rem 0;text-align:center;font-size:.82rem;color:rgba(255,255,255,.35);position:relative;z-index:3}
.footer-bottom a{color:rgba(255,255,255,.5);transition:color .25s ease}
.footer-bottom a:hover{color:var(--gold)}

.quick-bar{position:fixed;bottom:0;left:0;right:0;z-index:998;display:flex;background:rgba(10,31,18,.97);backdrop-filter:blur(12px);border-top:1px solid rgba(201,168,76,.25);transform:translateY(100%);transition:transform .4s cubic-bezier(.25,.46,.45,.94)}
.quick-bar.visible{transform:translateY(0)}
.quick-bar-item{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.9rem .5rem;color:rgba(255,255,255,.9);font-size:.85rem;font-weight:600;transition:all .25s ease;border-left:1px solid rgba(255,255,255,.06)}
.quick-bar-item:first-child{border-left:none}
.quick-bar-item:hover{background:var(--gold);color:var(--green-deep)}
.quick-bar-icon{font-size:1.1rem}
@media(min-width:769px){.quick-bar{display:none}}

.lightbox{position:fixed;inset:0;z-index:10000;background:rgba(5,12,8,.92);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}
.lightbox.active{opacity:1;visibility:visible}
.lightbox img{max-width:90vw;max-height:85vh;object-fit:contain;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.5);transform:scale(.92);transition:transform .3s cubic-bezier(.25,.46,.45,.94)}
.lightbox.active img{transform:scale(1)}
.lightbox-caption{position:absolute;bottom:1.5rem;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.85);font-size:.9rem;text-align:center;max-width:80vw}
.lightbox-close{position:absolute;top:1.25rem;right:1.5rem;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;font-size:1.6rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s ease;z-index:2}
.lightbox-close:hover{background:var(--gold);color:var(--green-deep);border-color:var(--gold)}
.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;font-size:1.6rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s ease;z-index:2}
.lightbox-nav:hover{background:var(--gold);color:var(--green-deep);border-color:var(--gold)}
.lightbox-prev{left:1.25rem}
.lightbox-next{right:1.25rem}
@media(max-width:768px){.lightbox-nav{width:42px;height:42px;font-size:1.2rem}.lightbox-prev{left:.75rem}.lightbox-next{right:.75rem}}
body.lightbox-open{overflow:hidden}
.page-content .wp-block-gallery img{cursor:zoom-in}
.page-content .wp-block-gallery.has-nested-images figure.wp-block-image img{border-radius:12px}
.page-content .wp-block-video{max-width:720px;margin:1.5rem auto}
.page-content .wp-block-video video{width:100%;height:auto;max-height:80vh;border-radius:10px}
@media(max-width:768px){.lightbox img{max-width:95vw;max-height:80vh}}
.page-id-337 .wp-block-column{transition:transform .3s ease,box-shadow .3s ease}
.page-id-337 .wp-block-column:hover{transform:translateY(-6px);box-shadow:0 20px 60px rgba(0,0,0,.18)}

@media(max-width:1023px){
.about-content{grid-template-columns:1fr;gap:2.5rem}
.about-photo{order:-1;min-height:250px}
.footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:1024px){
.header-inner{height:70px}
.site-header.shrink .header-inner{height:56px}
.menu-toggle{display:flex;z-index:1001}
.site-nav{position:fixed;top:80px;left:0;right:0;background:rgba(10,31,18,.98);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:1rem;transform:translateY(-100%);opacity:0;visibility:hidden;transition:all .6s ease;max-height:calc(100vh - 80px);overflow-y:auto;border-bottom:1px solid rgba(255,255,255,.06)}
.site-nav.active{transform:translateY(0);opacity:1;visibility:visible}
.nav-list{flex-direction:column;gap:.35rem}
.nav-list li a{font-size:1rem;padding:.75rem 1rem}
.nav-list li:not(:last-child)::after{display:none}
.nav-list li.nav-contact{margin-left:0}
.nav-list li.menu-item-has-children .sub-menu{position:static;transform:none;opacity:1;visibility:visible;min-width:0;background:rgba(255,255,255,.05);border:none;border-left:2px solid rgba(201,168,76,.4);border-radius:0;margin:.25rem 0 .25rem .5rem;padding:.25rem .5rem;box-shadow:none}
.nav-list .sub-menu li a{padding:.5rem .8rem;font-size:.95rem;white-space:normal}
}
@media(max-width:768px){
.section{padding:4rem 0}
.hero-title{font-size:2.6rem}
.hero-tagline{font-size:1.2rem}
.houses-grid{grid-template-columns:1fr;max-width:450px;margin-left:auto;margin-right:auto}
.services-grid{grid-template-columns:1fr 1fr;gap:1rem}
.advantages-grid{grid-template-columns:1fr;max-width:400px;margin-left:auto;margin-right:auto}
.booking-grid{grid-template-columns:1fr;max-width:400px}
.footer-main{flex-direction:column;align-items:center;gap:1.5rem}
.footer-logo-col{padding-top:0}
.footer-grid{grid-template-columns:1fr;text-align:center}
.footer-social{justify-content:center}
.scroll-top{bottom:1.25rem;right:1.25rem;width:42px;height:42px}
}
@media(max-width:480px){
.hero-title{font-size:2rem}
.services-grid{grid-template-columns:1fr}
.btn{padding:.7rem 1.5rem;font-size:.9rem}
.section-title{font-size:1.7rem}
.logo-text{font-size:1.1rem}
}
.blog-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;padding:1rem 0;max-width:720px;margin:0 auto}
.blog-card{background:var(--bg-card);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card);border:1px solid var(--border-subtle);transition:all .3s ease;display:flex;flex-direction:column}
.blog-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover);border-color:rgba(201,168,76,.3)}
.blog-card-img{height:200px;overflow:hidden}
.blog-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.blog-card:hover .blog-card-img img{transform:scale(1.05)}
.blog-card-body{padding:1.25rem;flex:1;display:flex;flex-direction:column}
.blog-card-date{font-size:.78rem;color:var(--text-muted);margin-bottom:.35rem}
.blog-card-body h3{font-size:1.1rem;font-weight:700;color:var(--green-deep);margin-bottom:.5rem;line-height:1.3}
.blog-card-body h3 a{color:inherit;text-decoration:none}
.blog-card-body h3 a:hover{color:var(--gold)}
.blog-card-body p{font-size:.88rem;color:var(--text-secondary);line-height:1.5;margin-bottom:1rem;flex:1}
.blog-card-link{font-size:.85rem;font-weight:600;color:var(--gold);text-decoration:none;display:inline-flex;align-items:center;gap:.3rem}
.blog-card-link:hover{color:var(--gold-dim)}

@keyframes fadeInUp{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}
.house-card,.service-card,.advantage-card{animation:fadeInUp .7s cubic-bezier(.25,.46,.45,.94) both}
.house-card:nth-child(1){animation-delay:.1s}.house-card:nth-child(2){animation-delay:.2s}.house-card:nth-child(3){animation-delay:.3s}.house-card:nth-child(4){animation-delay:.4s}
.service-card:nth-child(1){animation-delay:.05s}.service-card:nth-child(2){animation-delay:.1s}.service-card:nth-child(3){animation-delay:.15s}.service-card:nth-child(4){animation-delay:.2s}.service-card:nth-child(5){animation-delay:.25s}
.advantage-card:nth-child(1){animation-delay:.1s}.advantage-card:nth-child(2){animation-delay:.2s}.advantage-card:nth-child(3){animation-delay:.3s}

/* ===== Заголовки: зелёные на светлом фоне, белые на тёмном (явные селекторы, без :is) ===== */
h1,h2,h3,h4,h5,h6{color:var(--green-mid)}
.section-title,.page-content h2,.page-content h3,.house-card-body h3,.service-card-body h3,.advantage-card h3,.about-text h2,.blog-card-body h3{color:var(--green-mid)}
.hero h1,.hero h2,.hero h3,.hero h4,.hero h5,.hero h6,
.page-header h1,.page-header h2,.page-header h3,.page-header h4,.page-header h5,.page-header h6,
.section-booking .booking-card h1,.section-booking .booking-card h2,.section-booking .booking-card h3,.section-booking .booking-card h4,.section-booking .booking-card h5,.section-booking .booking-card h6,
.site-footer h1,.site-footer h2,.site-footer h4,.site-footer h5,.site-footer h6{color:#fff}
.site-footer h3.footer-title{color:var(--gold)}

/* ===== Тонкая разделительная линия между картой и заголовком формы ===== */
.veles-divider { width: 140px; height: 1px; margin: 2.75rem auto 2.25rem; background: linear-gradient(90deg, transparent, var(--gold) 20%, var(--gold) 80%, transparent); position: relative; }
.veles-divider::after { content: '◆'; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); color: var(--gold); font-size: .55rem; line-height: 1; background: var(--bg-page); padding: 0 .6rem; }

/* ===== Уважение к prefers-reduced-motion ===== */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .hero-bg,.hero-scroll-wheel,.house-card,.service-card,.advantage-card{animation:none!important}
  *,*::before,*::after{transition-duration:.01ms!important;animation-iteration-count:1!important}
}

/* ===== Премиальная тёмно-зелёная обводка: заголовок hero ===== */
.hero-title{
  text-shadow:
    1px 0 0 rgba(10,31,18,.92), -1px 0 0 rgba(10,31,18,.92),
    0 1px 0 rgba(10,31,18,.92), 0 -1px 0 rgba(10,31,18,.92),
    1px 1px 0 rgba(10,31,18,.92), -1px -1px 0 rgba(10,31,18,.92),
    1px -1px 0 rgba(10,31,18,.92), -1px 1px 0 rgba(10,31,18,.92),
    0 0 26px rgba(10,31,18,.45),
    0 2px 30px rgba(0,0,0,.50), 0 4px 60px rgba(0,0,0,.30);
}
@supports (-webkit-text-stroke: 1px #000){
  .hero-title{ -webkit-text-stroke: .5px rgba(10,31,18,.55); }
}