:root{--sage:#8b9e8b;--sage-light:#b5c4b1;--sage-dark:#6b7e6b;--warm:#c4ad8f;--warm-light:#d9ccba;--charcoal:#2c2c2c;--charcoal-mid:#3a3a3a;--off-white:#f7f5f2;--off-white-dark:#ede9e3;--text:#2c2c2c;--text-muted:#8a8580;--text-light:#b0aaa3;--chat-bg:#2c2927;--chat-bot:#3a3632;--chat-accent:var(--sage)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--off-white);color:var(--text);font-family:Outfit,sans-serif;overflow-x:hidden}@keyframes fadeUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes marqueeRev{0%{transform:translate(-50%)}to{transform:translate(0)}}@keyframes pulse{0%,to{box-shadow:0 0 #8b9e8b1f}50%{box-shadow:0 0 0 18px #8b9e8b0a,0 0 0 36px #8b9e8b03}}@keyframes chatUp{0%{opacity:0;transform:translateY(36px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes msgIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes tBounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-5px)}}.nav{z-index:100;justify-content:space-between;align-items:center;padding:24px 48px;transition:all .5s;display:flex;position:fixed;top:0;left:0;right:0}.nav.scrolled{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#f7f5f2eb;padding:16px 48px;box-shadow:0 1px #0000000f}.nav-logo{color:var(--charcoal);letter-spacing:-.5px;font-family:DM Serif Display,serif;font-size:24px;text-decoration:none}.nav-logo span{color:var(--sage)}.nav-links{align-items:center;gap:36px;display:flex}.nav-links a{letter-spacing:.5px;text-transform:uppercase;color:var(--text-muted);font-size:13px;font-weight:500;text-decoration:none;transition:color .3s}.nav-links a:hover{color:var(--charcoal)}@media (width<=900px){.nav-links{display:none}}.hero{align-items:center;min-height:100vh;padding:120px 48px 80px;display:flex;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background:radial-gradient(circle,#8b9e8b1f,#0000 70%);border-radius:50%;width:70vw;height:70vw;position:absolute;top:-20%;right:-10%}.hero:after{content:"";pointer-events:none;background:radial-gradient(circle,#c4ad8f1a,#0000 70%);border-radius:50%;width:50vw;height:50vw;position:absolute;bottom:-30%;left:-20%}.hero-grid{z-index:1;grid-template-columns:1fr 1fr;align-items:center;gap:80px;width:100%;max-width:1280px;margin:0 auto;display:grid;position:relative}.hero-text{max-width:560px}.hero-eyebrow{letter-spacing:3px;text-transform:uppercase;color:var(--sage);opacity:0;align-items:center;gap:10px;margin-bottom:32px;font-size:12px;font-weight:600;animation:.8s .2s forwards fadeUp;display:inline-flex}.hero-eyebrow:before{content:"";background:var(--sage);width:32px;height:1px}.hero h1{color:var(--charcoal);opacity:0;margin-bottom:28px;font-family:DM Serif Display,serif;font-size:clamp(42px,5.5vw,72px);font-weight:400;line-height:1.1;animation:.8s .4s forwards fadeUp}.hero h1 em{color:var(--sage-dark);font-family:Libre Baskerville,serif;font-style:italic}.hero-desc{color:var(--text-muted);opacity:0;max-width:440px;margin-bottom:44px;font-size:17px;line-height:1.8;animation:.8s .6s forwards fadeUp}.hero-cta-row{opacity:0;align-items:center;gap:16px;animation:.8s .8s forwards fadeUp;display:flex}.hero-cta{background:var(--charcoal);color:var(--off-white);letter-spacing:.5px;cursor:pointer;border:none;align-items:center;gap:10px;padding:16px 32px;font-family:Outfit,sans-serif;font-size:14px;font-weight:500;text-decoration:none;transition:all .4s cubic-bezier(.16,1,.3,1);display:inline-flex}.hero-cta:hover{background:var(--sage-dark);transform:translateY(-2px);box-shadow:0 16px 48px #6b7e6b40}.hero-cta-secondary{color:var(--text-muted);letter-spacing:.3px;padding:16px 20px;font-size:14px;font-weight:500;text-decoration:none;transition:color .3s}.hero-cta-secondary:hover{color:var(--charcoal)}.hero-stats{opacity:0;gap:40px;margin-top:56px;animation:.8s 1s forwards fadeUp;display:flex}.hero-stat-num{color:var(--charcoal);font-family:DM Serif Display,serif;font-size:36px;line-height:1}.hero-stat-label{color:var(--text-light);letter-spacing:.5px;margin-top:6px;font-size:12px}.hero-visual{opacity:0;animation:.8s .5s forwards fadeUp;position:relative}.hero-img-main{aspect-ratio:3/4;border-radius:0;width:100%;position:relative;overflow:hidden}.hero-img-main img{object-fit:cover;width:100%;height:100%;display:block}.hero-img-main:after{content:"Гостиная · 3D визуализация";letter-spacing:1px;text-transform:uppercase;color:#2c2c2c80;font-size:12px;font-weight:500;position:absolute;bottom:24px;left:24px}.hero-img-float{z-index:2;width:240px;height:180px;position:absolute;bottom:-40px;left:-60px;overflow:hidden;box-shadow:0 24px 64px #0000001a}.hero-img-float img{object-fit:cover;width:100%;height:100%;display:block}.hero-img-float:after{content:"Столовая";letter-spacing:1px;text-transform:uppercase;color:#2c2c2c66;font-size:10px;font-weight:500;position:absolute;bottom:12px;left:16px}@media (width<=900px){.hero{padding:120px 20px 80px}.hero-grid{grid-template-columns:1fr;gap:48px}.hero-visual{max-width:400px}.hero-img-float{display:none}}.section{padding:120px 48px}.section-inner{max-width:1280px;margin:0 auto}.section-eyebrow{letter-spacing:3px;text-transform:uppercase;color:var(--sage);align-items:center;gap:10px;margin-bottom:20px;font-size:12px;font-weight:600;display:inline-flex}.section-eyebrow:before{content:"";background:var(--sage);width:24px;height:1px}.section-title{margin-bottom:16px;font-family:DM Serif Display,serif;font-size:clamp(32px,4vw,52px);font-weight:400;line-height:1.15}.services-grid{grid-template-columns:repeat(3,1fr);gap:20px;margin-top:64px;display:grid}.service-card{cursor:pointer;background:#fff;border:1px solid #0000000d;padding:40px 32px;transition:all .5s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.service-card:before{content:"";background:var(--sage);transform-origin:0;width:100%;height:3px;transition:transform .4s cubic-bezier(.16,1,.3,1);position:absolute;top:0;left:0;transform:scaleX(0)}.service-card:hover:before{transform:scaleX(1)}.service-card:hover{transform:translateY(-6px);box-shadow:0 24px 64px #00000012}.service-num{color:#8b9e8b33;margin-bottom:20px;font-family:DM Serif Display,serif;font-size:48px;line-height:1}.service-title{color:var(--charcoal);margin-bottom:12px;font-family:DM Serif Display,serif;font-size:24px}.service-desc{color:var(--text-muted);margin-bottom:20px;font-size:14px;line-height:1.8}.service-price{color:var(--sage-dark);letter-spacing:.5px;font-size:13px;font-weight:600}.service-tags{flex-wrap:wrap;gap:6px;margin-top:16px;display:flex}.service-tag{color:var(--text-light);background:var(--off-white);padding:5px 10px;font-size:11px;font-weight:500}@media (width<=900px){.section{padding:80px 20px}.services-grid{grid-template-columns:1fr}}.portfolio-desc{color:var(--text-muted);max-width:520px;margin-top:12px;font-size:17px;line-height:1.8}.portfolio-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:56px;display:grid}.portfolio-card{cursor:pointer;aspect-ratio:3/4;position:relative;overflow:hidden}.portfolio-card img{object-fit:cover;width:100%;height:100%;transition:transform .6s cubic-bezier(.16,1,.3,1);display:block}.portfolio-card:hover img{transform:scale(1.05)}.portfolio-card-overlay{opacity:0;background:linear-gradient(#0000 50%,#2c2c2c99 100%);align-items:flex-end;padding:20px;transition:opacity .4s;display:flex;position:absolute;inset:0}.portfolio-card:hover .portfolio-card-overlay{opacity:1}.portfolio-card-name{color:#fff;letter-spacing:.5px;font-family:DM Serif Display,serif;font-size:18px}.portfolio-lightbox{z-index:1000;cursor:pointer;background:#000000d9;justify-content:center;align-items:center;padding:40px;animation:.3s fadeUp;display:flex;position:fixed;inset:0}.portfolio-lightbox-inner{cursor:default;width:100%;max-width:900px;position:relative}.portfolio-lightbox-inner img{width:100%;height:auto;display:block}.portfolio-lightbox-caption{color:#fff;text-shadow:0 2px 12px #00000080;font-family:DM Serif Display,serif;font-size:20px;position:absolute;bottom:16px;left:20px}.portfolio-lightbox-close{color:#fff;cursor:pointer;opacity:.7;background:0 0;border:none;font-size:36px;line-height:1;transition:opacity .3s;position:absolute;top:-48px;right:0}.portfolio-lightbox-close:hover{opacity:1}@media (width<=900px){.portfolio-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=500px){.portfolio-grid{grid-template-columns:1fr}}.styles-section{background:var(--charcoal);color:var(--off-white)}.styles-section .section-title{color:var(--off-white)}.styles-scroll{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:16px;margin-top:56px;padding-bottom:20px;display:flex;overflow-x:auto}.styles-scroll::-webkit-scrollbar{display:none}.style-card{cursor:pointer;flex-shrink:0;width:200px;height:260px;transition:transform .4s;position:relative;overflow:hidden}.style-card:hover{transform:scale(1.03)}.style-card-bg{align-items:flex-end;width:100%;height:100%;padding:20px;display:flex}.style-card-name{color:#fff;text-shadow:0 2px 16px #00000080;font-family:DM Serif Display,serif;font-size:18px}.review-card{background:#fff;border:1px solid #0000000d;max-width:640px;margin:56px auto 0;padding:40px}.review-stars{color:#f59e0b;letter-spacing:2px;margin-bottom:16px;font-size:16px}.review-text{color:var(--text-muted);margin-bottom:24px;font-family:Libre Baskerville,serif;font-size:16px;font-style:italic;line-height:1.9}.review-author{color:var(--charcoal);font-size:14px;font-weight:600}.review-meta{color:var(--text-light);margin-top:4px;font-size:12px}.chat-zone{background:var(--charcoal);flex-direction:column;min-height:100vh;display:flex;position:relative;overflow:hidden}.marquee-wrap{flex-shrink:0;padding-top:48px;position:relative;overflow:hidden}.marquee-wrap+div .marquee-wrap{padding-top:0}.marquee-wrap:before,.marquee-wrap:after{content:"";z-index:2;pointer-events:none;width:100px;position:absolute;top:0;bottom:0}.marquee-wrap:before{background:linear-gradient(to right, var(--charcoal), transparent);left:0}.marquee-wrap:after{background:linear-gradient(to left, var(--charcoal), transparent);right:0}.marquee-track{gap:14px;width:max-content;animation:45s linear infinite marquee;display:flex}.marquee-track:hover{animation-play-state:paused}.marquee-rev{animation-name:marqueeRev;animation-duration:50s}.mq-card{cursor:pointer;border-radius:12px;flex-shrink:0;width:280px;height:180px;transition:transform .4s;overflow:hidden}.mq-card:hover{transform:scale(1.03)}.mq-card-inner{align-items:flex-end;width:100%;height:100%;padding:16px;display:flex;position:relative;overflow:hidden}.mq-card-inner img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.mq-card-inner:after{content:"";pointer-events:none;background:linear-gradient(#0000 40%,#00000073 100%);position:absolute;inset:0}.mq-card-label{color:#fff;text-shadow:0 2px 12px #00000080;z-index:1;font-family:DM Serif Display,serif;font-size:16px;position:relative}.chat-cta{text-align:center;z-index:1;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:56px 24px 40px;transition:all .5s cubic-bezier(.16,1,.3,1);display:flex;position:relative}.chat-cta.minimized{flex:0;padding:24px 24px 12px}.chat-cta:before{content:"";pointer-events:none;background:radial-gradient(60% 50%,#8b9e8b14,#0000);position:absolute;inset:0}.chat-cta-label{letter-spacing:3px;text-transform:uppercase;color:var(--sage);opacity:.8;margin-bottom:24px;font-size:12px;font-weight:600}.chat-cta h2{color:var(--off-white);margin-bottom:16px;font-family:DM Serif Display,serif;font-size:clamp(32px,5vw,64px);font-weight:400;line-height:1.1}.chat-cta h2 em{color:var(--sage-light);font-family:Libre Baskerville,serif;font-style:italic}.chat-cta-sub{color:#f7f5f273;max-width:460px;margin-bottom:52px;font-size:clamp(15px,1.8vw,19px);line-height:1.6}.chat-actions{z-index:2;flex-wrap:wrap;justify-content:center;align-items:center;gap:40px;transition:all .4s;display:flex;position:relative}.chat-action-btn{cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:14px;transition:all .4s cubic-bezier(.16,1,.3,1);display:flex}.chat-action-btn:hover{transform:translateY(-6px)}.chat-action-btn:hover .act-icon{border-color:var(--sage);box-shadow:0 0 0 14px #8b9e8b1a,0 16px 48px #8b9e8b33}.act-icon{background:#8b9e8b0f;border:2px solid #8b9e8b4d;border-radius:50%;justify-content:center;align-items:center;width:100px;height:100px;transition:all .4s cubic-bezier(.16,1,.3,1);display:flex}.act-icon svg{width:40px;height:40px;stroke:var(--sage-light);fill:none;stroke-width:1.5px}.act-label{letter-spacing:2px;text-transform:uppercase;color:#f7f5f266;font-size:13px;font-weight:600;transition:color .3s}.chat-action-btn:hover .act-label{color:var(--sage-light)}.act-divider{background:linear-gradient(#0000,#8b9e8b40,#0000);width:1px;height:70px}.act-icon.pulse{animation:3s ease-in-out infinite pulse}.chat-wrap{justify-content:center;padding:0 24px 56px;display:flex}.chat-box{background:var(--chat-bg);border:1px solid #8b9e8b1f;border-radius:20px;flex-direction:column;width:100%;max-width:700px;height:520px;animation:.5s cubic-bezier(.16,1,.3,1) forwards chatUp;display:none;overflow:hidden;box-shadow:0 40px 120px #0006}.chat-box.visible{display:flex}.ch-header{background:#332f2b;border-bottom:1px solid #8b9e8b1a;justify-content:space-between;align-items:center;padding:16px 22px;display:flex}.ch-header-info{align-items:center;gap:12px;display:flex}.ch-avatar{background:linear-gradient(135deg, var(--sage), var(--sage-dark));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-family:DM Serif Display,serif;font-size:16px;display:flex}.ch-name{color:var(--off-white);font-size:15px;font-weight:500}.ch-status{color:var(--sage);align-items:center;gap:5px;font-size:11px;display:flex}.ch-status:before{content:"";background:#4ade80;border-radius:50%;width:5px;height:5px}.ch-minimize{color:#f7f5f259;cursor:pointer;letter-spacing:1px;text-transform:uppercase;background:0 0;border:none;font-family:Outfit,sans-serif;font-size:13px;font-weight:500;transition:color .3s}.ch-minimize:hover{color:var(--off-white)}.ch-messages{scrollbar-width:thin;scrollbar-color:#8b9e8b26 transparent;flex-direction:column;flex:1;gap:14px;padding:20px;display:flex;overflow-y:auto}.msg{max-width:85%;animation:.3s cubic-bezier(.16,1,.3,1) forwards msgIn}.msg-bot{align-self:flex-start}.msg-user{align-self:flex-end}.msg-bubble{border-radius:14px;padding:13px 17px;font-size:14px;line-height:1.7}.msg-bot .msg-bubble{background:var(--chat-bot);color:#f7f5f2e0;border-bottom-left-radius:3px}.msg-user .msg-bubble{background:var(--sage);color:#fff;border-bottom-right-radius:3px}.msg-gallery{grid-template-columns:1fr 1fr;gap:6px;margin-top:8px;display:grid}.msg-gal-item{color:#ffffffe6;cursor:pointer;border-radius:8px;align-items:flex-end;height:90px;padding:8px;font-size:11px;font-weight:600;transition:opacity .3s;display:flex}.msg-gal-item:hover{opacity:.85}.quick-replies{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.qr-btn{color:var(--sage-light);cursor:pointer;background:#8b9e8b1a;border:1px solid #8b9e8b40;border-radius:18px;padding:7px 14px;font-family:Outfit,sans-serif;font-size:13px;transition:all .3s}.qr-btn:hover{border-color:var(--sage);background:#8b9e8b2e}.typing-ind{background:var(--chat-bot);border-radius:14px 14px 14px 3px;gap:4px;width:fit-content;padding:13px 17px;display:flex}.t-dot{background:#8b9e8b73;border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite tBounce}.t-dot:nth-child(2){animation-delay:.2s}.t-dot:nth-child(3){animation-delay:.4s}.booking-card{background:linear-gradient(135deg,#8b9e8b1f,#8b9e8b0a);border:1px solid #8b9e8b40;border-radius:10px;margin-top:8px;padding:16px}.booking-card-title{color:var(--sage-light);margin-bottom:8px;font-family:DM Serif Display,serif;font-size:15px}.booking-row{color:#f7f5f299;border-bottom:1px solid #8b9e8b14;justify-content:space-between;padding:5px 0;font-size:13px;display:flex}.booking-row:last-of-type{border-bottom:none}.booking-row span:last-child{color:var(--off-white);font-weight:500}.booking-confirm{background:var(--sage);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;margin-top:10px;padding:11px;font-family:Outfit,sans-serif;font-size:14px;font-weight:500;transition:all .3s}.booking-confirm:hover{background:var(--sage-dark)}.ch-input-area{background:#2c292780;border-top:1px solid #8b9e8b14;align-items:center;gap:8px;padding:14px 18px;display:flex}.ch-input{background:var(--chat-bot);color:var(--off-white);border:1px solid #8b9e8b1f;border-radius:22px;outline:none;flex:1;padding:11px 16px;font-family:Outfit,sans-serif;font-size:14px;transition:border-color .3s}.ch-input::placeholder{color:#f7f5f240}.ch-input:focus{border-color:var(--sage)}.ch-btn{cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;transition:all .3s;display:flex}.ch-send{background:var(--sage)}.ch-send:hover{background:var(--sage-dark)}.ch-send svg{fill:#fff;stroke:none;width:17px;height:17px}.ch-mic{background:0 0;border:1px solid #8b9e8b33!important}.ch-mic:hover{background:#8b9e8b14;border-color:var(--sage)!important}.ch-mic svg{width:17px;height:17px;stroke:var(--sage-light);fill:none}@media (width<=900px){.chat-wrap{padding:0 8px 40px}.chat-box{border-radius:14px;height:460px}.mq-card{width:220px;height:140px}}footer{background:var(--charcoal);text-align:center;color:#f7f5f24d;border-top:1px solid #8b9e8b0f;padding:56px 48px;font-size:13px}footer a{color:var(--sage);text-decoration:none}.footer-logo{color:var(--sage-light);margin-bottom:14px;font-family:DM Serif Display,serif;font-size:22px}.footer-logo span{color:var(--sage)}
