.trust-bar{padding:2.5rem 0;background:var(--bg-secondary);border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}
.trust-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}
@media (min-width:768px){.trust-grid{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1024px){.trust-grid{grid-template-columns:repeat(6,1fr)}}
.trust-item{display:flex;flex-direction:column;align-items:center;gap:0.4rem;text-align:center}
.trust-icon{color:var(--accent-light);margin-bottom:0.25rem}
.trust-value{font-family:var(--font-display);font-size:1.2rem;color:var(--text-primary);font-weight:600}
.trust-label{font-size:0.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.05em}
.about-grid{display:grid;gap:3rem}
@media (min-width:768px){.about-grid{grid-template-columns:1fr 1fr;align-items:center}}
.about-text p{margin-bottom:1.2rem;color:var(--text-secondary)}
.about-text strong{color:var(--text-primary)}
.about-lead{font-size:1.1rem;color:var(--text-primary)!important;line-height:1.7}
.about-features{margin:1.5rem 0}
.about-features li{padding:0.5rem 0;display:flex;align-items:center;gap:0.6rem;color:var(--text-secondary)}
.accent-dot{width:6px;height:6px;background:var(--accent-light);border-radius:50%;flex-shrink:0}
.about-visual{position:relative;display:flex;justify-content:center}
.about-woodblock{position:relative;width:240px;height:240px}
.woodblock-layer{position:absolute;inset:0;border-radius:var(--radius-lg)}
.woodblock-1{background:linear-gradient(135deg,var(--accent-wood),var(--accent));opacity:0.1;transform:rotate(6deg)}
.woodblock-2{background:linear-gradient(135deg,var(--accent),var(--wood-light));opacity:0.08;transform:rotate(-4deg) scale(0.92)}
.woodblock-3{background:linear-gradient(135deg,var(--bg-card),var(--bg-elevated));border:1px solid var(--border-color);transform:rotate(2deg)}
.woodblock-tools{position:absolute;inset:0;width:100%;height:100%;color:var(--accent-wood);opacity:0.6}
.services{background:var(--bg-secondary)}
.services-grid{display:grid;gap:1.25rem}
@media (min-width:640px){.services-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.services-grid{grid-template-columns:repeat(4,1fr)}}
.service-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1.75rem;transition:all var(--transition-base);position:relative;overflow:hidden;display:flex;flex-direction:column}
.service-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:0;transition:opacity var(--transition-base)}
.service-card:hover::before{opacity:1}
.service-card:hover{background:var(--bg-card-hover);border-color:var(--border-glow);transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,0.4)}
.service-icon{width:56px;height:56px;color:var(--accent-light);margin-bottom:1.25rem;background:rgba(184,134,11,0.08);border-radius:var(--radius-sm);padding:10px}
.service-icon svg{width:100%;height:100%}
.service-title{font-family:var(--font-display);font-size:1.15rem;margin-bottom:0.6rem;font-weight:600}
.service-desc{color:var(--text-secondary);font-size:0.9rem;line-height:1.6;flex:1;margin-bottom:1rem}
.service-cta{display:inline-flex;align-items:center;gap:0.35rem;color:var(--accent-light);font-size:0.85rem;font-weight:600;transition:gap var(--transition-base)}
.service-cta:hover{gap:0.6rem;color:var(--accent-light)}
.gallery-filters{display:flex;flex-wrap:wrap;gap:0.5rem;justify-content:center;margin-bottom:2.5rem}
.filter-btn{padding:0.5rem 1.1rem;border-radius:50px;font-size:0.85rem;color:var(--text-secondary);border:1px solid var(--border-color);background:transparent;transition:all var(--transition-base);cursor:pointer}
.filter-btn:hover,.filter-btn.active{border-color:var(--accent);color:var(--accent-light);background:rgba(184,134,11,0.08)}
.gallery-grid{display:grid;gap:1.25rem}
@media (min-width:640px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.gallery-grid{grid-template-columns:repeat(3,1fr)}}
.gallery-item{transition:all var(--transition-base)}
.gallery-item.hidden{display:none}
.gallery-item.gallery-hidden{display:none}
.gallery-item.gallery-hidden.visible{display:block}
.gallery-expand-wrap{text-align:center;margin-top:2rem}
.gallery-expand-btn{min-width:220px}
.gallery-expand-btn.hide{display:none}
.gallery-cta-hidden{display:none}
.gallery-cta-hidden.visible{display:block}
.gallery-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;transition:all var(--transition-base)}
.gallery-card:hover{border-color:var(--border-glow);box-shadow:var(--shadow-md)}
.gallery-img-wrap{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--bg-elevated);cursor:pointer}
.gallery-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bg-elevated),var(--bg-secondary));color:var(--text-muted)}
.gallery-placeholder svg{width:64px;height:64px;opacity:0.4}
.gallery-img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}
.gallery-card:hover .gallery-img{transform:scale(1.05)}
.gallery-overlay{position:absolute;inset:0;background:rgba(13,13,13,0.6);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--transition-base)}
.gallery-card:hover .gallery-overlay{opacity:1}
.gallery-info{padding:1rem 1.25rem 1.25rem}
.gallery-title{font-family:var(--font-display);font-size:1rem;font-weight:600;margin-bottom:0.3rem}
.gallery-desc{font-size:0.85rem;color:var(--text-secondary);margin-bottom:0.75rem}
.gallery-cat-tag{display:inline-block;font-size:0.7rem;text-transform:uppercase;letter-spacing:0.06em;color:var(--accent-light)}
.gallery-cta{text-align:center;margin-top:3rem}
.gallery-cta p{color:var(--text-secondary);margin-bottom:1rem}
.lightbox{display:none;position:fixed;inset:0;z-index:2000;background:rgba(5,5,5,0.97);backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px)}
.lightbox.open{display:flex;flex-direction:column;align-items:center;justify-content:center}
.lightbox-topbar{position:absolute;top:0;left:0;right:0;z-index:2002;display:flex;align-items:center;justify-content:space-between;padding:1.25rem 2rem;pointer-events:none}
.lightbox-topbar>*{pointer-events:auto}
.lightbox-close{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,255,255,0.06);border:1px solid var(--border-color);color:var(--text-secondary);font-size:1.5rem;transition:all var(--transition-base);cursor:pointer}
.lightbox-close:hover{background:rgba(184,134,11,0.12);border-color:var(--accent);color:var(--accent-light)}
.lightbox-badge{display:flex;align-items:center;gap:0.4rem;background:rgba(255,255,255,0.04);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:0.35rem 0.75rem;font-size:0.75rem;text-transform:uppercase;letter-spacing:0.08em;color:var(--accent-light)}
.lightbox-badge svg{opacity:0.8}
.lightbox-content{display:flex;align-items:center;justify-content:center;width:100%;flex:1;padding:5rem 7rem 1rem}
.lightbox-content img{max-width:100%;max-height:72vh;border-radius:var(--radius-lg);object-fit:contain;box-shadow:0 4px 60px rgba(0,0,0,0.6),0 0 0 1px rgba(255,255,255,0.04)}
.lightbox-bottombar{display:flex;align-items:center;justify-content:center;gap:2rem;padding:1.25rem 2rem 2rem;width:100%;max-width:800px;z-index:2002}
.lightbox-info{display:flex;flex-direction:column;align-items:center;gap:0.15rem}
.lightbox-title{font-family:var(--font-display);font-size:1.1rem;font-weight:600;color:var(--text-primary)}
.lightbox-desc{font-size:0.85rem;color:var(--text-secondary)}
.lightbox-counter{font-size:0.78rem;color:var(--accent-light);letter-spacing:0.06em;white-space:nowrap;padding:0.3rem 0.75rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:rgba(255,255,255,0.03)}
.lightbox-prev,.lightbox-next{position:absolute;top:50%;transform:translateY(-50%);z-index:2001;width:52px;height:52px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,255,255,0.04);border:1px solid var(--border-color);color:var(--text-secondary);font-size:1.8rem;cursor:pointer;transition:all var(--transition-base)}
.lightbox-prev:hover,.lightbox-next:hover{background:rgba(184,134,11,0.1);border-color:var(--accent);color:var(--accent-light)}
.lightbox-prev{left:1.5rem}
.lightbox-next{right:1.5rem}
@media (max-width:768px){.lightbox-topbar{padding:0.75rem 1rem}.lightbox-content{padding:4.5rem 3.5rem 0.75rem}.lightbox-content img{max-height:60vh;border-radius:var(--radius-md)}.lightbox-prev{left:0.4rem;width:38px;height:38px;font-size:1.4rem}.lightbox-next{right:0.4rem;width:38px;height:38px;font-size:1.4rem}.lightbox-bottombar{flex-direction:column;gap:0.6rem;padding:0.75rem 1rem 1.25rem}.lightbox-title{font-size:0.95rem}.lightbox-close{width:36px;height:36px;font-size:1.25rem}}
.process{background:var(--bg-secondary)}
.timeline{position:relative;max-width:800px;margin:0 auto}
.timeline-line{position:absolute;left:1.85rem;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--accent),var(--accent-wood),var(--accent));border-radius:1px}
@media (min-width:640px){.timeline-line{left:50%;transform:translateX(-50%)}}
.timeline-step{position:relative;padding-left:4.5rem;padding-bottom:3rem;display:flex;flex-direction:column}
.timeline-step:last-child{padding-bottom:0}
.timeline-marker{position:absolute;left:0;top:0;width:3.7rem;height:3.7rem;border-radius:50%;background:var(--bg-card);border:2px solid var(--accent);display:flex;align-items:center;justify-content:center;z-index:2;box-shadow:0 0 20px var(--accent-glow)}
.timeline-num{font-family:var(--font-display);font-size:1.1rem;color:var(--accent-light);font-weight:600}
@media (min-width:640px){.timeline-step{width:50%;padding-left:0}.timeline-step:nth-child(odd){margin-left:auto;padding-left:3rem}.timeline-step:nth-child(even){padding-right:3rem;text-align:right}.timeline-marker{left:auto}.timeline-step:nth-child(odd) .timeline-marker{left:-1.85rem}.timeline-step:nth-child(even) .timeline-marker{right:-1.85rem}}
.timeline-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1.5rem;transition:all var(--transition-base)}
.timeline-step:hover .timeline-card{border-color:var(--border-glow);background:var(--bg-card-hover)}
.timeline-title{font-family:var(--font-display);font-size:1.1rem;margin-bottom:0.5rem}
.timeline-desc{color:var(--text-secondary);font-size:0.9rem;line-height:1.6}
.opinions-grid{display:grid;gap:1.25rem;margin-bottom:2.5rem}
@media (min-width:640px){.opinions-grid{grid-template-columns:repeat(2,1fr)}}
.opinion-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1.75rem;position:relative}
.opinion-quote{margin-bottom:0.75rem;color:var(--accent);opacity:0.4}
.opinion-text{font-style:italic;color:var(--text-secondary);font-size:0.95rem;line-height:1.7;margin-bottom:1rem}
.opinion-author{font-weight:600;color:var(--text-primary);font-size:0.9rem}
.opinion-stars{color:var(--accent-light);margin-top:0.25rem;font-size:0.8rem}
.opinions-cta{text-align:center}
.opinions-cta p{color:var(--text-secondary);margin-bottom:1rem}
.opinion-hidden{display:none}
.opinion-hidden.opinion-visible{display:block}
.google-reviews{margin-top:2rem}
.opinions-more-wrap{text-align:center;margin-top:1.5rem}
.opinions-more-wrap .btn{transition:all var(--transition-base)}
.faq{background:var(--bg-secondary)}
.faq-list{max-width:800px;margin:0 auto}
.faq-item{border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:0.75rem;overflow:hidden;background:var(--bg-card);transition:border-color var(--transition-base)}
.faq-item[open]{border-color:var(--border-glow)}
.faq-question{padding:1.15rem 1.5rem;cursor:pointer;font-weight:600;display:flex;justify-content:space-between;align-items:center;gap:1rem;list-style:none;color:var(--text-primary);user-select:none}
.faq-question::-webkit-details-marker{display:none}
.faq-chevron{flex-shrink:0;color:var(--accent-light);transition:transform var(--transition-base);display:flex;align-items:center}
.faq-item[open] .faq-chevron{transform:rotate(180deg)}
.faq-answer{padding:0 1.5rem 1.25rem;color:var(--text-secondary);font-size:0.93rem;line-height:1.7}
.contact-grid{display:grid;gap:3rem;align-items:start}
@media (min-width:1024px){.contact-grid{grid-template-columns:minmax(280px,0.9fr) minmax(420px,1fr);gap:clamp(3rem,6vw,5.5rem)}}
.contact-info{display:flex;flex-direction:column;width:100%}
.contact-tiles{display:flex;flex-direction:column;gap:0.85rem;width:100%}
.contact-tile{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:1rem;min-height:88px;padding:1.1rem 1.25rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);text-decoration:none;color:inherit;transition:border-color var(--transition-base),background var(--transition-base),box-shadow var(--transition-base),transform var(--transition-base)}
a.contact-tile:hover{border-color:var(--accent);background:rgba(184,134,11,0.06);box-shadow:0 8px 28px rgba(0,0,0,0.28);transform:translateY(-2px);color:inherit}
a.contact-tile:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);outline:none}
a.contact-tile:hover .tile-value{color:var(--accent-light)}
.tile-icon{width:48px;height:48px;border-radius:var(--radius-sm);background:rgba(184,134,11,0.1);border:1px solid rgba(184,134,11,0.2);color:var(--accent-light);display:flex;align-items:center;justify-content:center;transition:background var(--transition-base),border-color var(--transition-base),color var(--transition-base)}
a.contact-tile:hover .tile-icon{background:rgba(184,134,11,0.16);border-color:var(--accent)}
.tile-body{display:flex;flex-direction:column;gap:0.22rem;min-width:0}
.tile-label{font-size:0.82rem;text-transform:uppercase;letter-spacing:0.08em;color:var(--text-secondary);line-height:1.35}
.tile-value{font-family:var(--font-display);font-size:clamp(1rem,1.35vw,1.18rem);font-weight:600;line-height:1.25;color:var(--text-primary);letter-spacing:0;overflow-wrap:anywhere;transition:color var(--transition-base)}
.form-config-hint{text-align:center;padding:0.5rem 1rem;margin-bottom:1rem;opacity:0.5}
.form-config-hint code{background:rgba(184,134,11,0.1);color:var(--accent-light);padding:0.1rem 0.4rem;border-radius:3px;font-size:0.8rem}
.form-trust{text-align:center;margin-top:0.75rem;font-size:0.8rem;color:var(--text-muted)}
.map-link{display:inline-flex;align-items:center;margin-top:0.35rem;color:var(--text-secondary);font-weight:500;font-size:0.92rem;line-height:1.5;text-decoration:none;transition:color var(--transition-base)}
.map-link:hover{color:var(--accent-light)}
@media (max-width:480px){.contact-grid{gap:2.25rem}.contact-tile{grid-template-columns:44px minmax(0,1fr);gap:0.85rem;min-height:80px;padding:1rem}.tile-icon{width:44px;height:44px}.tile-label{font-size:0.74rem}.tile-value{font-size:1rem}.map-link{font-size:0.85rem}}
.legal-page{padding-top:calc(var(--header-height) + 4rem)}
.legal-header{text-align:center;margin-bottom:3rem}
.legal-content{max-width:860px;margin:0 auto;padding:2rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md)}
.legal-content p,.legal-content li{color:var(--text-secondary);font-size:0.95rem;line-height:1.75}
.legal-content p{margin-bottom:1rem}
.legal-content h2{font-family:var(--font-display);font-size:1.35rem;font-weight:600;color:var(--text-primary);margin:2rem 0 0.75rem}
.legal-content h2:first-of-type{margin-top:1.25rem}
.legal-content ul{list-style:disc;margin:0 0 1.25rem 1.25rem}
.legal-content li{margin-bottom:0.45rem;padding-left:0.2rem}
.legal-content strong{color:var(--text-primary)}
.legal-content a{color:var(--accent-light);font-weight:600;text-decoration:none}
.legal-content a:hover{text-decoration:underline}
@media (max-width:640px){.legal-page{padding-top:calc(var(--header-height) + 2.5rem)}.legal-content{padding:1.25rem}.legal-content h2{font-size:1.15rem}}
