:root{--ink:#2e2823;--muted:#8c8177;--line:#ece3d6;--cream:#f4efe7;--card:#fffdfa;--gold:#c39a4e;--gold-dk:#a87d2f;--gold-soft:#f4ead4;--wood-dk:#5e4326;--accent:#2f7d5e;--accent-soft:#e7f1ec;--wa:#25d366;--content:1800px;--r-lg:26px;--r-md:18px;--r-sm:12px;--sh-sm:0 4px 14px rgba(94,61,32,.08);--sh-md:0 14px 34px rgba(94,61,32,.11);--sh-lg:0 26px 64px rgba(74,49,24,.15)}*{box-sizing:border-box}html,body,#root{height:100%}html{scrollbar-gutter:stable both-edges}body{overflow-x:hidden;max-width:100%}html{scrollbar-width:thin;scrollbar-color:#d8cbb6 transparent}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-button{display:none;height:0;width:0}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d8cbb6;border-radius:999px;border:3px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:#c9b899}body{margin:0;font-family:Heebo,Assistant,Rubik,Segoe UI,Arial,sans-serif;color:var(--ink);line-height:1.65;-webkit-font-smoothing:antialiased;background:radial-gradient(1100px 460px at 50% -160px,#fff,#fff0 70%),linear-gradient(168deg,#f6f1ea,#ece1d1);background-attachment:fixed}.app{display:flex;flex-direction:column;align-items:center;padding:14px 12px}.app-chat{height:100vh;height:100dvh;overflow:hidden}.app-page{min-height:100vh;min-height:100dvh}.topbar{width:100%;max-width:var(--content);display:flex;justify-content:center;margin-bottom:14px}.logo-img{width:auto;height:96px;max-width:82%;object-fit:contain;cursor:pointer;filter:drop-shadow(0 10px 22px rgba(94,61,32,.2));transition:transform .2s ease}.logo-img:hover{transform:translateY(-2px)}.logo-fallback{display:none;flex-direction:column;align-items:center;line-height:1.25;cursor:pointer}.logo-fallback strong{font-size:26px;font-weight:800;color:var(--wood-dk);letter-spacing:.3px}.logo-fallback span{font-size:13.5px;color:var(--muted)}.tabs{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin-bottom:20px;background:#fff9;padding:6px;border-radius:999px;border:1px solid var(--line);box-shadow:var(--sh-sm);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.tab{background:transparent;border:0;color:var(--muted);padding:9px 20px;border-radius:999px;font-family:inherit;font-size:14.5px;font-weight:600;cursor:pointer;transition:all .2s ease}.tab:hover{color:var(--gold-dk)}.tab.active{background:linear-gradient(135deg,var(--gold),var(--gold-dk));color:#fff;box-shadow:0 6px 16px #a87d2f59}.view-wrap{width:100%;max-width:var(--content);display:flex;flex-direction:column}.view-wrap.is-chat{flex:1;min-height:0}.view-wrap.is-page{flex:1 0 auto}.view-wrap>*{animation:fadeUp .38s cubic-bezier(.2,.7,.3,1)}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.chat{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:var(--card);border:1px solid rgba(236,227,214,.9);border-radius:var(--r-lg);box-shadow:var(--sh-lg)}.offer-banner{width:100%;max-width:var(--content);margin:0 auto 14px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,var(--gold),var(--gold-dk));color:#fff;padding:10px 40px;border-radius:14px;font-size:13.5px;text-align:center;box-shadow:0 8px 22px #a87d2f52}.offer-banner b{font-weight:800}.offer-banner:after{content:"";position:absolute;top:0;left:0;width:30%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:translate(-160%) skew(-18deg);animation:sheen 4.5s ease-in-out infinite;pointer-events:none}.offer-x{position:absolute;inset-inline-end:8px;top:50%;transform:translateY(-50%);width:22px;height:22px;border-radius:50%;border:0;cursor:pointer;background:#ffffff40;color:#fff;font-size:16px;line-height:1}.offer-x:hover{background:#fff6}.trust-strip{width:100%;max-width:var(--content);margin:0 auto 16px;display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.trust-badge{display:flex;align-items:center;gap:6px;background:#ffffffb8;border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-size:12.5px;font-weight:600;color:var(--ink);box-shadow:var(--sh-sm);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:transform .18s}.trust-badge:hover{transform:translateY(-2px)}.tb-ic{font-size:15px}.stats-row{display:flex;gap:12px;justify-content:center;margin-bottom:22px;flex-wrap:wrap}.stat{flex:1;min-width:92px;text-align:center;padding:16px 10px;border-radius:16px;background:linear-gradient(135deg,#fbf6ee,#f4ead4);border:1px solid var(--line)}.stat .n{font-size:27px;font-weight:800;color:var(--gold-dk);line-height:1}.stat .l{font-size:12.5px;color:var(--muted);margin-top:5px}.reviews-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.review-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:16px 18px;box-shadow:var(--sh-sm);animation:scaleIn .5s both}.review-card:nth-child(2){animation-delay:.08s}.review-card:nth-child(3){animation-delay:.16s}.review-card:nth-child(4){animation-delay:.24s}.stars{color:#f5b301;font-size:15px;letter-spacing:2px;margin-bottom:7px}.rev-q{margin:0 0 13px;font-size:14.5px;line-height:1.6}.rev-who{display:flex;align-items:center;gap:10px}.rev-ava{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--gold),var(--gold-dk));color:#fff;font-weight:700;font-size:16px}.rev-who b{display:block;font-size:14px}.rev-who span{font-size:12.5px;color:var(--muted)}.reviews-cta{text-align:center;margin-top:20px}.chat-head{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fffdfa,#faf5ec)}.bot-ava{width:46px;height:46px;border-radius:50%;background:#fff;object-fit:contain;padding:4px;box-shadow:0 4px 12px #5e3d2038;border:2px solid #fff}.chat-progress{margin-inline-start:auto;text-align:center;min-width:92px}.cp-label{display:block;font-size:12px;font-weight:700;color:var(--gold-dk);margin-bottom:5px}.cp-bar{height:6px;background:var(--line);border-radius:999px;overflow:hidden}.cp-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--gold),var(--gold-dk));transition:width .45s cubic-bezier(.2,.7,.3,1)}.chat-head .t{font-weight:700;font-size:15.5px}.chat-head .s{font-size:12.5px;color:var(--accent);display:flex;align-items:center;gap:5px}.chat-head .s:before{content:"";width:8px;height:8px;border-radius:50%;background:#38c172;box-shadow:0 0 #38c17299;animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 #38c17280}70%{box-shadow:0 0 0 7px #38c17200}to{box-shadow:0 0 #38c17200}}.messages{flex:1;min-height:0;padding:22px 18px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.chat-photo{max-width:200px;max-height:200px;border-radius:12px;display:block}.messages{scrollbar-width:thin;scrollbar-color:#e2d6c4 transparent}.messages::-webkit-scrollbar{width:10px}.messages::-webkit-scrollbar-button{display:none;height:0;width:0}.messages::-webkit-scrollbar-track{background:transparent;margin:12px 0}.messages::-webkit-scrollbar-thumb{background:#e2d6c4;border-radius:999px;border:3px solid transparent;background-clip:padding-box}.msg{max-width:min(74%,760px);padding:12px 16px;font-size:15.5px;border-radius:20px;animation:pop .26s ease;box-shadow:var(--sh-sm);position:relative}@keyframes pop{0%{opacity:0;transform:translateY(7px) scale(.98)}to{opacity:1;transform:none}}.bot{align-self:flex-start;background:#fff;color:var(--ink);border:1px solid var(--line);border-bottom-right-radius:6px}.bot b{color:var(--gold-dk)}.user{align-self:flex-end;color:#fff;border-bottom-left-radius:6px;background:linear-gradient(135deg,var(--gold),var(--gold-dk));box-shadow:0 8px 18px #a87d2f47}.typing{align-self:flex-start;background:#fff;border:1px solid var(--line);padding:14px 18px;border-radius:20px;display:flex;gap:5px;box-shadow:var(--sh-sm)}.typing i{width:8px;height:8px;border-radius:50%;background:var(--gold);opacity:.5;animation:blink 1s infinite}.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}@keyframes blink{0%,to{opacity:.3}50%{opacity:1}}.controls{padding:14px 18px 18px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:9px;align-items:center;min-height:66px;background:linear-gradient(180deg,#fffdfa,#faf6ee)}.opt{background:#fff;border:1.5px solid var(--line);color:var(--ink);padding:11px 17px;border-radius:999px;font-family:inherit;font-size:14.5px;cursor:pointer;transition:all .18s ease;box-shadow:var(--sh-sm)}.opt:hover{border-color:var(--gold);color:var(--gold-dk);transform:translateY(-2px);box-shadow:0 8px 18px #a87d2f33}.opt.sel{background:linear-gradient(135deg,var(--accent),#245e46);color:#fff;border-color:transparent}.field{flex:1;min-width:150px;padding:12px 15px;border:1.5px solid var(--line);border-radius:14px;font-size:15px;font-family:inherit;outline:none;transition:all .18s}.field:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c39a4e2e}.send{background:linear-gradient(135deg,var(--gold),var(--gold-dk));color:#fff;border:0;padding:12px 22px;border-radius:14px;font-weight:700;cursor:pointer;font-size:15px;font-family:inherit;box-shadow:0 8px 18px #a87d2f4d;transition:all .18s}.send:hover{transform:translateY(-2px);box-shadow:0 12px 24px #a87d2f61}a.send{text-decoration:none;display:inline-flex;align-items:center;gap:6px}.send.wa{background:linear-gradient(135deg,#2fd06f,#20b358);box-shadow:0 8px 18px #25d36659}.hintline{width:100%;font-size:12px;color:var(--muted);margin-top:2px}.page{flex:1;background:var(--card);border:1px solid rgba(236,227,214,.9);border-radius:var(--r-lg);box-shadow:var(--sh-lg);padding:28px 22px}.page-title{margin:0 0 4px;font-size:24px;font-weight:800;text-align:center}.page-sub{margin:0 0 22px;font-size:14.5px;color:var(--muted);text-align:center}.page-note{margin:20px 0 0;font-size:12px;color:var(--wood-dk);opacity:.6;text-align:center}.gfilter{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-bottom:20px}.chip{background:#fff;border:1.5px solid var(--line);color:var(--muted);padding:8px 16px;border-radius:999px;font-family:inherit;font-size:13.5px;font-weight:600;cursor:pointer;transition:all .18s;box-shadow:var(--sh-sm)}.chip:hover{color:var(--gold-dk);border-color:var(--gold)}.chip.active{background:linear-gradient(135deg,var(--gold),var(--gold-dk));color:#fff;border-color:transparent;box-shadow:0 6px 14px #a87d2f4d}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}.gcard{position:relative;margin:0;width:100%;aspect-ratio:4/3;border-radius:var(--r-md);overflow:hidden;box-shadow:var(--sh-md);cursor:pointer;background:#efe7db;transition:transform .25s ease,box-shadow .25s ease}.gcard:hover{transform:translateY(-4px);box-shadow:var(--sh-lg)}.gcard.g-pergola{background:linear-gradient(135deg,#c69c6d,#5e3d20)}.gcard.g-deck{background:linear-gradient(135deg,#c0925f,#4a3016)}.gcard.g-fence{background:linear-gradient(135deg,#9aa17f,#4f5641)}.gcard:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.18),transparent 60%)}.gcard img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .4s ease;z-index:1}.gcard:hover img{transform:scale(1.07)}.gcard figcaption{position:absolute;inset-inline:0;bottom:0;z-index:2;padding:12px 14px 11px;color:#fff;font-size:13.5px;font-weight:700;background:linear-gradient(0deg,rgba(20,12,4,.72),transparent)}.about-card{background:linear-gradient(135deg,#fbf6ee,#f4ead4);border:1px solid var(--line);border-radius:var(--r-md);padding:20px;font-size:15px;margin-bottom:20px}.about-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:22px}.about-item{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:18px 14px;text-align:center;box-shadow:var(--sh-sm);transition:all .2s}.about-item:hover{transform:translateY(-3px);box-shadow:var(--sh-md)}.about-item .ai-icon{width:52px;height:52px;margin:0 auto 8px;border-radius:16px;font-size:26px;display:grid;place-items:center;background:var(--gold-soft)}.about-item h3{margin:2px 0 4px;font-size:16px;font-weight:700}.about-item p{margin:0;font-size:13px;color:var(--muted)}.about-cta{background:linear-gradient(135deg,var(--accent-soft),#d8ebe1);border-radius:var(--r-md);padding:24px 20px;text-align:center}.about-cta h3{margin:0 0 4px;font-size:19px;font-weight:800}.about-cta p{margin:0 0 16px;font-size:14px;color:#5b6b62}.about-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:14px}.about-phone{display:inline-block;color:var(--accent);font-weight:700;text-decoration:none;font-size:16px}.about-phone:hover{text-decoration:underline}@media (max-width:600px){.app{padding:8px 8px 10px}.logo-img{height:56px}.topbar{margin-bottom:8px}.topbar:before{width:200px;height:200px}.offer-banner{font-size:12px;padding:8px 34px;margin-bottom:8px}.tabs{margin-bottom:10px;padding:4px;gap:4px}.tab{padding:7px 12px;font-size:13px}.trust-strip{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;margin-bottom:10px}.trust-strip::-webkit-scrollbar{display:none}.trust-badge{flex:0 0 auto;font-size:11.5px;padding:6px 12px}.messages{padding:16px 14px}.msg{max-width:88%;font-size:15px}.page{padding:18px 14px}.chat-progress{min-width:76px}}@media (max-height:500px){.offer-banner,.trust-strip{display:none}.logo-img{height:42px}.topbar{margin-bottom:6px}.tabs{margin-bottom:8px}.app{padding:8px 12px}}.admin{max-width:760px;margin:0 auto;padding:20px 16px 40px}.admin-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--sh-sm);padding:14px 18px;margin-bottom:16px;position:sticky;top:12px;z-index:5}.admin-bar strong{font-size:18px}.admin-count{margin-inline-start:10px;font-size:13px;color:var(--muted)}.admin-actions{display:flex;gap:8px}.admin-empty{text-align:center;color:var(--muted);padding:60px 20px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md)}.admin-list{display:grid;gap:14px}.order-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--sh-sm);padding:16px 18px}.order-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.order-ref{font-weight:800;color:var(--gold-dk)}.order-date{font-size:12.5px;color:var(--muted)}.order-contact{display:flex;gap:14px;flex-wrap:wrap;align-items:center;padding-bottom:12px;border-bottom:1px dashed var(--line);margin-bottom:12px;font-size:14.5px}.order-contact a{color:var(--accent);text-decoration:none;font-weight:600}.order-contact span{color:var(--muted)}.order-items{display:grid;gap:10px}.order-item{background:#faf6ee;border-radius:12px;padding:10px 12px}.oi-main{display:flex;justify-content:space-between;gap:10px;font-weight:600}.oi-price{color:var(--gold-dk);white-space:nowrap}.oi-detail{font-size:12.5px;color:var(--muted);margin-top:2px}.oi-photo{margin-top:8px;max-width:160px;max-height:160px;border-radius:10px;display:block}.order-total{margin-top:12px;text-align:left;font-weight:800;color:var(--accent)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.93)}to{opacity:1;transform:none}}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes glowPulse{0%,to{opacity:.45;transform:translate(-50%,-50%) scale(1)}50%{opacity:.85;transform:translate(-50%,-50%) scale(1.08)}}@keyframes sheen{0%{transform:translate(-160%) skew(-18deg)}55%,to{transform:translate(320%) skew(-18deg)}}@keyframes spinSlow{to{transform:rotate(360deg)}}.topbar{position:relative}.topbar:before{content:"";position:absolute;top:50%;left:50%;width:280px;height:280px;border-radius:50%;z-index:-1;pointer-events:none;background:radial-gradient(circle,#c39a4e4d,#c39a4e00 68%);animation:glowPulse 5.5s ease-in-out infinite}.logo-img{animation:floaty 7s ease-in-out infinite}.send{position:relative;overflow:hidden}.send:after{content:"";position:absolute;top:0;left:0;width:36%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);transform:translate(-160%) skew(-18deg);animation:sheen 5s ease-in-out infinite;pointer-events:none}.controls .opt{animation:scaleIn .34s both}.controls .opt:nth-child(1){animation-delay:.03s}.controls .opt:nth-child(2){animation-delay:.09s}.controls .opt:nth-child(3){animation-delay:.15s}.controls .opt:nth-child(4){animation-delay:.21s}.controls .opt:nth-child(5){animation-delay:.27s}.about-item{animation:scaleIn .5s both}.about-item:nth-child(1){animation-delay:.06s}.about-item:nth-child(2){animation-delay:.14s}.about-item:nth-child(3){animation-delay:.22s}.about-item:nth-child(4){animation-delay:.3s}.about-anim{display:block;width:100%;max-width:360px;margin:0 auto 18px;height:auto}.about-anim .rays{transform-origin:312px 46px;animation:spinSlow 26s linear infinite}.about-anim .sun{animation:glowPulse 4s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.about-anim .slat{opacity:.85}body:before,body:after{content:"";position:fixed;border-radius:50%;z-index:-1;pointer-events:none;filter:blur(64px)}body:before{width:48vmax;height:48vmax;top:-14vmax;right:-12vmax;background:radial-gradient(circle,#c39a4e57,#c39a4e00 70%);animation:drift1 22s ease-in-out infinite alternate}body:after{width:44vmax;height:44vmax;bottom:-16vmax;left:-14vmax;background:radial-gradient(circle,#2f7d5e33,#2f7d5e00 70%);animation:drift2 27s ease-in-out infinite alternate}@keyframes drift1{0%{transform:translate(0) scale(1)}to{transform:translate(-9vmax,9vmax) scale(1.16)}}@keyframes drift2{0%{transform:translate(0) scale(1)}to{transform:translate(10vmax,-8vmax) scale(1.13)}}.about-cta{background:linear-gradient(120deg,var(--accent-soft),#d8ebe1,#eaf3ee,#d8ebe1);background-size:220% 220%;animation:gradShift 13s ease infinite}@keyframes gradShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.send:active,.opt:active,.chip:active,.tab:active{transform:translateY(1px) scale(.985)}.tab:hover{transform:translateY(-1px)}.gcard figcaption{transform:translateY(5px);transition:transform .28s ease}.gcard:hover figcaption{transform:translateY(0)}.about-item .ai-icon{animation:floaty 6s ease-in-out infinite}.about-item:nth-child(2) .ai-icon{animation-delay:1s}.about-item:nth-child(3) .ai-icon{animation-delay:2s}.about-item:nth-child(4) .ai-icon{animation-delay:3s}.bot-ava{animation:floaty 5s ease-in-out infinite}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition-duration:.01ms!important}}
