*,::after,::before{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:80px}body{min-height:100vh;line-height:1.6;font-family:var(--font-primary);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden}canvas,img,picture,svg,video{display:block;max-width:100%;height:auto}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:none;background:0 0}a{color:inherit;text-decoration:none}ol,ul{list-style:none}table{border-collapse:collapse;border-spacing:0}fieldset{border:none}h1,h2,h3,h4,h5,h6{overflow-wrap:break-word;text-wrap:balance}p{overflow-wrap:break-word;text-wrap:pretty}:root{--color-primary-dark:#3A3028;--color-accent:#E8B97A;--color-accent-hover:#D4A568;--color-accent-light:rgba(232, 185, 122, 0.15);--color-bg:#F5EFE6;--color-card:#FDF8F2;--color-border:#E2D8CC;--color-text:#2A1F14;--color-text-muted:#6B5D4F;--color-white:#FFFFFF;--color-overlay:rgba(42, 31, 20, 0.6);--color-overlay-strong:rgba(42, 31, 20, 0.8);--color-success:#4A7C59;--color-error:#C0392B;--font-primary:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--space-4xl:6rem;--container-max:1200px;--container-padding:1rem;--header-height:72px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow-sm:0 1px 3px rgba(42, 31, 20, 0.06);--shadow-md:0 4px 12px rgba(42, 31, 20, 0.08);--shadow-lg:0 8px 30px rgba(42, 31, 20, 0.1);--shadow-xl:0 16px 48px rgba(42, 31, 20, 0.14);--shadow-accent-glow:0 4px 20px rgba(232, 185, 122, 0.35);--transition-fast:150ms ease;--transition-base:250ms ease;--transition-slow:400ms ease;--transition-spring:350ms cubic-bezier(0.34, 1.56, 0.64, 1)}h1{font-size:clamp(2rem, 5vw, 3.5rem);font-weight:800;line-height:1.15;letter-spacing:-.02em;color:var(--color-text)}h2{font-size:clamp(1.5rem, 3.5vw, 2.5rem);font-weight:700;line-height:1.2;letter-spacing:-.015em;color:var(--color-text)}h3{font-size:clamp(1.25rem, 2.5vw, 1.75rem);font-weight:700;line-height:1.3;color:var(--color-text)}h4{font-size:clamp(1.1rem, 2vw, 1.35rem);font-weight:600;line-height:1.35;color:var(--color-text)}h5{font-size:1.1rem;font-weight:600;line-height:1.4;color:var(--color-text)}h6{font-size:.95rem;font-weight:600;line-height:1.4;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}p{font-size:1rem;line-height:1.7;color:var(--color-text);margin-bottom:var(--space-md)}p:last-child{margin-bottom:0}.lead{font-size:clamp(1.1rem, 2vw, 1.25rem);line-height:1.7;color:var(--color-text-muted)}a:not([class]){color:var(--color-accent-hover);text-decoration:underline;text-underline-offset:3px;transition:color var(--transition-fast)}a:not([class]):hover{color:var(--color-accent)}a:not([class]):focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:2px}b,strong{font-weight:700}em,i{font-style:italic}small{font-size:.875rem}.section-label{display:inline-block;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--color-accent-hover);margin-bottom:var(--space-sm)}.section-title{margin-bottom:var(--space-md)}.section-subtitle{font-size:clamp(1rem, 2vw, 1.15rem);color:var(--color-text-muted);max-width:640px}.section-header{text-align:center;margin-bottom:var(--space-3xl)}.section-header .section-subtitle{margin-inline:auto}.content ol,.content ul{padding-left:1.5rem;margin-bottom:var(--space-lg)}.content ul{list-style:disc}.content ol{list-style:decimal}.content li{margin-bottom:var(--space-sm);line-height:1.7}.content li::marker{color:var(--color-accent)}.container{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--container-padding)}.container--narrow{max-width:800px}.container--wide{max-width:1400px}section{padding-block:var(--space-3xl)}@media (min-width:768px){:root{--container-padding:1.5rem}section{padding-block:var(--space-4xl)}}@media (min-width:1024px){:root{--container-padding:2rem}}.header{position:sticky;top:0;z-index:1000;height:var(--header-height);background:rgba(245,239,230,.85);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--color-border);transition:box-shadow var(--transition-base)}.header.scrolled{box-shadow:var(--shadow-md)}.header__inner{display:flex;align-items:center;justify-content:space-between;height:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--container-padding)}.header__logo{display:flex;align-items:center;gap:var(--space-sm);font-size:1.35rem;font-weight:800;color:var(--color-primary-dark);z-index:1001;flex-shrink:0}.header__logo img{height:40px;width:auto}.header__logo:hover{opacity:.85}.nav{display:flex;align-items:center;gap:var(--space-xl)}.nav__list{display:flex;align-items:center;gap:var(--space-xs)}.nav__link{position:relative;display:inline-flex;align-items:center;padding:var(--space-sm) var(--space-md);font-size:.925rem;font-weight:500;color:var(--color-text);border-radius:var(--radius-sm);transition:color var(--transition-fast),background-color var(--transition-fast)}.nav__link:hover{color:var(--color-accent-hover);background:var(--color-accent-light)}.nav__link:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.nav__link.active{color:var(--color-accent-hover);font-weight:600}.nav__link.active::after{content:'';position:absolute;bottom:2px;left:var(--space-md);right:var(--space-md);height:2px;background:var(--color-accent);border-radius:1px}.nav__cta{margin-left:var(--space-sm)}.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:32px;height:32px;z-index:1001;cursor:pointer}.nav-toggle span{display:block;width:100%;height:2px;background:var(--color-primary-dark);border-radius:2px;transition:transform var(--transition-base),opacity var(--transition-fast)}.nav-open .nav-toggle span:first-child{transform:translateY(7px) rotate(45deg)}.nav-open .nav-toggle span:nth-child(2){opacity:0}.nav-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}@media (max-width:899px){.nav-toggle{display:flex}.nav{position:fixed;inset:0;flex-direction:column;justify-content:center;align-items:center;gap:var(--space-lg);background:var(--color-bg);opacity:0;visibility:hidden;transition:opacity var(--transition-base),visibility var(--transition-base);z-index:999}.nav-open .nav{opacity:1;visibility:visible}.nav__list{flex-direction:column;gap:var(--space-sm);text-align:center}.nav__link{font-size:1.2rem;padding:var(--space-sm) var(--space-xl)}.nav__link.active::after{bottom:0}.nav__cta{margin-left:0;margin-top:var(--space-md)}}.nav__item--dropdown{position:relative}.nav__dropdown{position:absolute;top:100%;left:0;min-width:220px;padding:var(--space-sm) 0;background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity var(--transition-fast),transform var(--transition-fast),visibility var(--transition-fast)}.nav__item--dropdown:focus-within .nav__dropdown,.nav__item--dropdown:hover .nav__dropdown{opacity:1;visibility:visible;transform:translateY(0)}.nav__dropdown-link{display:block;padding:var(--space-sm) var(--space-lg);font-size:.9rem;color:var(--color-text);transition:background var(--transition-fast),color var(--transition-fast)}.nav__dropdown-link:hover{background:var(--color-accent-light);color:var(--color-accent-hover)}.hero{position:relative;display:flex;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;padding:var(--space-3xl) 0;background-size:cover;background-position:center;background-repeat:no-repeat;color:var(--color-white);overflow:hidden}.hero--subpage{min-height:50vh;min-height:50dvh}.hero::before{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(42,31,20,.5) 0,rgba(42,31,20,.7) 100%);z-index:1}.hero__content{position:relative;z-index:2;text-align:center;max-width:800px;padding-inline:var(--container-padding)}.hero__title{font-size:clamp(2.2rem, 6vw, 4rem);font-weight:800;color:var(--color-white);line-height:1.1;margin-bottom:var(--space-lg);text-shadow:0 2px 8px rgba(0,0,0,.2)}.hero__subtitle{font-size:clamp(1rem, 2.5vw, 1.3rem);color:rgba(255,255,255,.9);margin-bottom:var(--space-xl);line-height:1.6;max-width:600px;margin-inline:auto}.hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-md);justify-content:center;margin-bottom:var(--space-2xl)}.hero__trust-badges{display:flex;flex-wrap:wrap;gap:var(--space-lg);justify-content:center;align-items:center;padding-top:var(--space-xl);border-top:1px solid rgba(255,255,255,.2)}.trust-badge{display:flex;align-items:center;gap:var(--space-sm);font-size:.875rem;color:rgba(255,255,255,.85);font-weight:500}.trust-badge__icon{width:20px;height:20px;flex-shrink:0;opacity:.8}.hero__scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);z-index:2;animation:bounce 2s ease infinite}.hero__scroll-indicator svg{width:28px;height:28px;color:rgba(255,255,255,.6)}@keyframes bounce{0%,100%,20%,50%,80%{transform:translateX(-50%) translateY(0)}40%{transform:translateX(-50%) translateY(-8px)}60%{transform:translateX(-50%) translateY(-4px)}}.hero-bg{position:absolute;inset:0;z-index:0}.hero-bg img{width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(42,31,20,.5) 0,rgba(42,31,20,.7) 100%);z-index:1}.hero:has(.hero-overlay)::before{display:none}.hero-content,.hero__content{position:relative;z-index:2;text-align:center;max-width:800px;margin-inline:auto;padding-inline:var(--container-padding)}.hero-content h1,.hero__title{font-size:clamp(2.2rem, 6vw, 4rem);font-weight:800;color:var(--color-white);line-height:1.1;margin-bottom:var(--space-lg);text-shadow:0 2px 8px rgba(0,0,0,.2)}.hero-subtitle,.hero__subtitle{font-size:clamp(1rem, 2.5vw, 1.3rem);color:rgba(255,255,255,.9);margin-bottom:var(--space-xl);line-height:1.6;max-width:600px;margin-inline:auto}.hero-ctas,.hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-md);justify-content:center;margin-bottom:var(--space-2xl)}.hero__trust-badges,.trust-badges{display:flex;flex-wrap:wrap;gap:var(--space-lg);justify-content:center;align-items:center;padding-top:var(--space-xl);border-top:1px solid rgba(255,255,255,.2)}.badge-icon{color:var(--color-accent);font-weight:700}.footer-logo img,.footer-logo-img,.footer__logo img{height:40px;width:auto;filter:invert(1) brightness(2)}.cookie-banner,.cookie-consent{position:fixed;bottom:0;left:0;right:0;z-index:9999;background:var(--color-primary-dark);color:var(--color-white);padding:var(--space-lg) var(--space-xl);transform:translateY(0);transition:transform .4s ease}.cookie-banner.hidden,.cookie-consent.hidden{transform:translateY(100%)}.cookie-consent__content,.cookie-content{max-width:var(--container-max);margin-inline:auto;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-md)}.cookie-consent__content p,.cookie-content p{flex:1;min-width:250px;font-size:.875rem;margin:0;color:rgba(255,255,255,.9)}.cookie-consent__content a,.cookie-content a{color:var(--color-accent)}.cookie-buttons{display:flex;gap:var(--space-md);align-items:center}.cookie-link{font-size:.875rem;color:var(--color-accent)!important}.scroll-progress{position:fixed;top:0;left:0;height:3px;width:0%;background:linear-gradient(to right,var(--color-accent),#d4a056);z-index:10000;transition:width .1s linear}.back-to-top{position:fixed;bottom:2rem;right:2rem;width:48px;height:48px;border-radius:50%;background:var(--color-accent);color:var(--color-primary-dark);font-size:1.5rem;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);opacity:0;visibility:hidden;transform:translateY(20px);transition:all .3s ease;z-index:999;cursor:pointer;border:none}.back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top:hover{background:var(--color-accent-hover);transform:translateY(-2px)}.section{padding:var(--space-3xl) 0}.section-header{text-align:center;margin-bottom:var(--space-2xl)}.section-label{display:inline-block;font-size:.875rem;font-weight:600;color:var(--color-accent);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-sm)}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-xl)}.service-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.service-card-image{overflow:hidden;aspect-ratio:3/2}.service-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.service-card:hover .service-card-image img{transform:scale(1.05)}.service-card-content{padding:var(--space-lg)}.service-card-content h3{margin-bottom:var(--space-sm);color:var(--color-primary-dark)}.service-card-content p{font-size:.925rem;color:#5a4d40;margin-bottom:var(--space-md)}.service-link{font-weight:600;color:var(--color-accent);transition:color .2s}.service-link:hover{color:var(--color-accent-hover)}.about-grid{display:grid;grid-template-columns:1fr;gap:var(--space-2xl);align-items:center}@media (min-width:768px){.about-grid{grid-template-columns:1fr 1fr}}.about-image img{border-radius:var(--radius-lg);width:100%;height:auto;object-fit:cover}.about-content .section-label{text-align:left}.about-content h2{text-align:left}.about-content p{margin-bottom:var(--space-md)}.about-stats{display:flex;gap:var(--space-xl);margin:var(--space-xl) 0;padding-top:var(--space-lg);border-top:1px solid var(--color-border)}.stat-item{text-align:center}.stat-number{display:block;font-size:2rem;font-weight:800;color:var(--color-accent)}.stat-plus{font-size:2rem;font-weight:800;color:var(--color-accent)}.stat-label{display:block;font-size:.8rem;color:#5a4d40;margin-top:var(--space-xs)}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-md)}.gallery-item{overflow:hidden;border-radius:var(--radius-lg);cursor:pointer;aspect-ratio:1}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.gallery-item:hover img{transform:scale(1.08)}.reviews-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-lg)}.review-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xl)}.review-stars{color:var(--color-accent);font-size:1.2rem;margin-bottom:var(--space-md)}.review-text{font-style:italic;margin-bottom:var(--space-md);line-height:1.7}.review-author{display:flex;gap:var(--space-sm);font-size:.875rem}.author-name{font-weight:600;color:var(--color-primary-dark)}.review-badge{display:inline-block;margin-top:var(--space-sm);font-size:.75rem;color:#5a4d40}.rating-text{text-align:center;margin-bottom:var(--space-xl)}.rating-stars{text-align:center;font-size:2rem;color:var(--color-accent)}.faq-list{max-width:800px;margin-inline:auto}.faq-item{border-bottom:1px solid var(--color-border)}.faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;padding:var(--space-lg) 0;font-size:1.05rem;font-weight:600;color:var(--color-primary-dark);text-align:left;cursor:pointer;background:0 0;border:none}.faq-icon{font-size:1.5rem;color:var(--color-accent);transition:transform .3s ease;flex-shrink:0}.faq-item.active .faq-icon{transform:rotate(45deg)}.faq-answer{max-height:0;overflow:hidden;transition:max-height .35s ease}.faq-item.active .faq-answer{max-height:500px}.faq-answer p{padding-bottom:var(--space-lg);color:#5a4d40;line-height:1.7}.contact-grid{display:grid;grid-template-columns:1fr;gap:var(--space-2xl)}@media (min-width:768px){.contact-grid{grid-template-columns:1fr 1fr}}.contact-form-card{max-width:600px;margin:0 auto var(--space-3xl);background:var(--color-card);border:1px solid var(--color-border);border-radius:16px;padding:32px;box-shadow:0 4px 24px rgba(42,31,20,.07)}.contact-form{display:flex;flex-direction:column;gap:.875rem}.contact-form .form-group{margin-bottom:0}.contact-form .form-group--half{max-width:50%}.contact-form label{display:block;font-weight:600;margin-bottom:.25rem;font-size:.85rem;color:var(--color-text)}.required{color:#c0392b}.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:10px 14px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-white);transition:border-color .2s,box-shadow .2s;font-size:.9rem}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:0;border-color:var(--color-accent);box-shadow:0 0 0 3px rgba(232,185,122,.2)}.contact-bottom{display:grid;grid-template-columns:1fr;gap:var(--space-xl)}@media (min-width:768px){.contact-bottom{grid-template-columns:1fr 1fr}}.contact-info-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xl);margin-bottom:var(--space-lg)}.contact-details{list-style:none}.contact-details li{display:flex;align-items:flex-start;gap:var(--space-md);padding:var(--space-md) 0;border-bottom:1px solid var(--color-border)}.contact-details li:last-child{border-bottom:none}.contact-icon{font-size:1.3rem;color:var(--color-accent);flex-shrink:0;width:24px;text-align:center}.contact-map{border-radius:var(--radius-lg);overflow:hidden}.contact-map iframe{width:100%;border:none}.btn-full{width:100%}.btn-outline{background:0 0;color:var(--color-white);border:2px solid var(--color-white);padding:var(--space-md) var(--space-xl);border-radius:var(--radius-md);font-weight:600;transition:all .3s ease}.btn-outline:hover{background:var(--color-white);color:var(--color-primary-dark)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:.8rem 1.75rem;font-size:.95rem;font-weight:600;border-radius:var(--radius-full);border:2px solid transparent;cursor:pointer;transition:all var(--transition-base);text-decoration:none;white-space:nowrap;line-height:1.2}.btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.btn-primary{background:var(--color-accent);color:var(--color-primary-dark);border-color:var(--color-accent)}.btn-primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover);box-shadow:var(--shadow-accent-glow);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0);box-shadow:none}.btn-secondary{background:0 0;color:var(--color-accent);border-color:var(--color-accent)}.btn-secondary:hover{background:var(--color-accent);color:var(--color-primary-dark);transform:translateY(-1px)}.btn-secondary:active{transform:translateY(0)}.btn-white{background:var(--color-white);color:var(--color-primary-dark);border-color:var(--color-white)}.btn-white:hover{background:var(--color-accent);border-color:var(--color-accent);transform:translateY(-1px);box-shadow:var(--shadow-accent-glow)}.btn-white:active{transform:translateY(0)}.btn-phone{display:inline-flex;align-items:center;gap:var(--space-sm);padding:.7rem 1.5rem;font-size:.95rem;font-weight:600;color:var(--color-accent);border:2px solid var(--color-accent);border-radius:var(--radius-full);transition:all var(--transition-base);text-decoration:none}.btn-phone::before{content:'';display:inline-block;width:18px;height:18px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E8B97A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.127.96.361 1.903.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;flex-shrink:0}.btn-phone:hover{background:var(--color-accent);color:var(--color-primary-dark);transform:translateY(-1px)}.btn-phone:hover::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233A3028' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.127.96.361 1.903.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E")}.btn-phone:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.btn--sm{padding:.55rem 1.25rem;font-size:.85rem}.btn--lg{padding:1rem 2.25rem;font-size:1.05rem}.btn__icon{width:18px;height:18px;flex-shrink:0}.services-grid{display:grid;grid-template-columns:1fr;gap:var(--space-xl)}@media (min-width:600px){.services-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.services-grid{grid-template-columns:repeat(3,1fr)}}.service-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;transition:transform var(--transition-base),box-shadow var(--transition-base)}.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}.service-card__image{position:relative;width:100%;aspect-ratio:16/10;overflow:hidden}.service-card__image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.service-card:hover .service-card__image img{transform:scale(1.05)}.service-card__icon{position:absolute;bottom:-20px;left:var(--space-lg);width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--color-accent);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:2}.service-card__icon img,.service-card__icon svg{width:24px;height:24px}.service-card__body{padding:var(--space-2xl) var(--space-lg) var(--space-lg)}.service-card__title{font-size:1.15rem;font-weight:700;margin-bottom:var(--space-sm);color:var(--color-text)}.service-card__text{font-size:.925rem;color:var(--color-text-muted);line-height:1.6;margin-bottom:var(--space-lg)}.service-card__link{display:inline-flex;align-items:center;gap:var(--space-xs);font-size:.9rem;font-weight:600;color:var(--color-accent-hover);transition:gap var(--transition-fast),color var(--transition-fast)}.service-card__link::after{content:'\2192';transition:transform var(--transition-fast)}.service-card__link:hover{color:var(--color-accent)}.service-card__link:hover::after{transform:translateX(4px)}.about{background:var(--color-card)}.about__grid{display:grid;grid-template-columns:1fr;gap:var(--space-2xl);align-items:center}@media (min-width:768px){.about__grid{grid-template-columns:1fr 1fr;gap:var(--space-3xl)}}.about__image-wrapper{position:relative;border-radius:var(--radius-lg);overflow:hidden}.about__image-wrapper img{width:100%;height:auto;display:block;border-radius:var(--radius-lg)}.about__image-accent{position:absolute;bottom:-12px;right:-12px;width:120px;height:120px;background:var(--color-accent-light);border-radius:var(--radius-lg);z-index:-1}.about__content{display:flex;flex-direction:column;gap:var(--space-md)}.about__stats{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md);margin-top:var(--space-lg)}.about__stat{text-align:center;padding:var(--space-lg);background:var(--color-bg);border-radius:var(--radius-md)}.about__stat-number{font-size:2rem;font-weight:800;color:var(--color-accent-hover);line-height:1}.about__stat-label{font-size:.85rem;color:var(--color-text-muted);margin-top:var(--space-xs)}.gallery-grid{display:grid;grid-template-columns:1fr;gap:var(--space-md)}@media (min-width:600px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.gallery-grid{grid-template-columns:repeat(3,1fr)}}.gallery-item{position:relative;border-radius:var(--radius-md);overflow:hidden;cursor:pointer;aspect-ratio:4/3}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.gallery-item:hover img{transform:scale(1.08)}.gallery-item__overlay{position:absolute;inset:0;background:var(--color-overlay);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--transition-base)}.gallery-item:hover .gallery-item__overlay{opacity:1}.gallery-item__overlay-text{color:var(--color-white);font-weight:600;font-size:.95rem;text-align:center;padding:var(--space-md)}.gallery-grid--masonry .gallery-item:nth-child(4n+1){grid-row:span 2}.lightbox{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.92);opacity:0;visibility:hidden;transition:opacity var(--transition-base),visibility var(--transition-base)}.lightbox.active{opacity:1;visibility:visible}.lightbox__image{max-width:90vw;max-height:85vh;border-radius:var(--radius-sm);object-fit:contain;transform:scale(.95);transition:transform var(--transition-base)}.lightbox.active .lightbox__image{transform:scale(1)}.lightbox__close{position:absolute;top:1.5rem;right:1.5rem;width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-size:1.75rem;color:var(--color-white);background:rgba(255,255,255,.1);border-radius:var(--radius-full);cursor:pointer;transition:background var(--transition-fast)}.lightbox__close:hover{background:rgba(255,255,255,.25)}.lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--color-white);background:rgba(255,255,255,.1);border-radius:var(--radius-full);cursor:pointer;transition:background var(--transition-fast)}.lightbox__nav:hover{background:rgba(255,255,255,.25)}.lightbox__nav--prev{left:1.5rem}.lightbox__nav--next{right:1.5rem}.lightbox__caption{position:absolute;bottom:1.5rem;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.8);font-size:.9rem;text-align:center;max-width:600px;padding:var(--space-sm) var(--space-lg);background:rgba(0,0,0,.4);border-radius:var(--radius-full)}.reviews{background:var(--color-card)}.reviews-grid{display:grid;grid-template-columns:1fr;gap:var(--space-xl)}@media (min-width:600px){.reviews-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.reviews-grid{grid-template-columns:repeat(3,1fr)}}.reviews-scroll{display:flex;gap:var(--space-xl);overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:var(--space-md);scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.reviews-scroll::-webkit-scrollbar{height:6px}.reviews-scroll::-webkit-scrollbar-track{background:0 0}.reviews-scroll::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.review-card{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-md);transition:box-shadow var(--transition-base);scroll-snap-align:start;min-width:300px}.reviews-scroll .review-card{flex-shrink:0;width:340px}.review-card:hover{box-shadow:var(--shadow-md)}.review-card__stars{display:flex;gap:2px}.review-card__star{width:18px;height:18px;color:var(--color-accent)}.review-card__star--empty{color:var(--color-border)}.stars::before{content:'\2605\2605\2605\2605\2605';letter-spacing:2px;color:var(--color-accent);font-size:1.1rem}.stars[data-rating="4"]::before{content:'\2605\2605\2605\2605\2606'}.stars[data-rating="3"]::before{content:'\2605\2605\2605\2606\2606'}.review-card__quote{font-size:.95rem;line-height:1.7;color:var(--color-text);font-style:italic;flex-grow:1;position:relative;padding-left:var(--space-lg)}.review-card__quote::before{content:'\201C';position:absolute;left:0;top:-4px;font-size:2.5rem;color:var(--color-accent);line-height:1;font-style:normal;font-weight:700}.review-card__author{display:flex;align-items:center;gap:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-border)}.review-card__avatar{width:44px;height:44px;border-radius:var(--radius-full);background:var(--color-accent-light);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--color-accent-hover);font-size:.95rem;flex-shrink:0}.review-card__avatar img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-full)}.review-card__name{font-weight:600;font-size:.925rem;color:var(--color-text)}.review-card__role{font-size:.8rem;color:var(--color-text-muted)}.reviews__summary{display:flex;align-items:center;gap:var(--space-md);justify-content:center;margin-bottom:var(--space-2xl);padding:var(--space-lg);background:var(--color-white);border-radius:var(--radius-lg);border:1px solid var(--color-border);max-width:480px;margin-inline:auto}.reviews__summary-score{font-size:2.5rem;font-weight:800;color:var(--color-text);line-height:1}.reviews__summary-text{font-size:.85rem;color:var(--color-text-muted)}.faq-list{max-width:800px;margin-inline:auto;display:flex;flex-direction:column;gap:var(--space-sm)}.faq-item{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-card);overflow:hidden;transition:box-shadow var(--transition-base)}.faq-item:hover{box-shadow:var(--shadow-sm)}.faq-item__question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-lg) var(--space-xl);font-size:1rem;font-weight:600;text-align:left;color:var(--color-text);cursor:pointer;background:0 0;transition:color var(--transition-fast)}.faq-item__question:hover{color:var(--color-accent-hover)}.faq-item__question:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.faq-item__icon{width:24px;height:24px;flex-shrink:0;position:relative;display:flex;align-items:center;justify-content:center}.faq-item__icon::after,.faq-item__icon::before{content:'';position:absolute;background:currentColor;border-radius:1px;transition:transform var(--transition-base)}.faq-item__icon::before{width:14px;height:2px}.faq-item__icon::after{width:2px;height:14px}.faq-item.active .faq-item__icon::after{transform:rotate(90deg)}.faq-item__answer{max-height:0;overflow:hidden;transition:max-height var(--transition-slow) ease}.faq-item.active .faq-item__answer{max-height:500px}.faq-item__answer-inner{padding:0 var(--space-xl) var(--space-xl);font-size:.95rem;line-height:1.7;color:var(--color-text-muted)}.contact-section{background:var(--color-card)}.contact-grid{display:grid;grid-template-columns:1fr;gap:var(--space-2xl)}@media (min-width:768px){.contact-grid{grid-template-columns:1fr 1fr;gap:var(--space-3xl)}}.contact-info{display:flex;flex-direction:column;gap:var(--space-xl)}.contact-info__item{display:flex;gap:var(--space-md);align-items:flex-start}.contact-info__icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--color-accent-light);border-radius:var(--radius-md);flex-shrink:0;color:var(--color-accent-hover)}.contact-info__icon svg{width:20px;height:20px}.contact-info__label{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);font-weight:600;margin-bottom:2px}.contact-info__value{font-size:1rem;font-weight:500;color:var(--color-text)}.contact-form{display:grid;grid-template-columns:1fr;gap:var(--space-lg)}@media (min-width:600px){.contact-form{grid-template-columns:repeat(2,1fr)}.contact-form__group--full{grid-column:1/-1}}.contact-form__group{display:flex;flex-direction:column;gap:var(--space-xs)}.contact-form__label{font-size:.875rem;font-weight:600;color:var(--color-text)}.contact-form__label .required{color:var(--color-error);margin-left:2px}.contact-form__input,.contact-form__select,.contact-form__textarea{width:100%;padding:.75rem 1rem;font-size:.95rem;background:var(--color-white);border:1.5px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);appearance:none}.contact-form__input::placeholder,.contact-form__textarea::placeholder{color:var(--color-text-muted);opacity:.6}.contact-form__input:hover,.contact-form__select:hover,.contact-form__textarea:hover{border-color:var(--color-accent)}.contact-form__input:focus,.contact-form__select:focus,.contact-form__textarea:focus{outline:0;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-light)}.contact-form__input:focus-visible,.contact-form__select:focus-visible,.contact-form__textarea:focus-visible{outline:0}.contact-form__input.error,.contact-form__textarea.error{border-color:var(--color-error)}.contact-form__error{font-size:.8rem;color:var(--color-error);margin-top:2px}.contact-form__textarea{min-height:140px;resize:vertical}.contact-form__select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B5D4F' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:18px;padding-right:2.5rem}.contact-form__checkbox-group{display:flex;align-items:flex-start;gap:var(--space-sm)}.contact-form__checkbox{width:18px;height:18px;margin-top:3px;accent-color:var(--color-accent);flex-shrink:0}.contact-form__checkbox-label{font-size:.85rem;color:var(--color-text-muted);line-height:1.5}.contact-form__submit{grid-column:1/-1}.contact-form__success{grid-column:1/-1;padding:var(--space-lg);background:rgba(74,124,89,.1);border:1px solid var(--color-success);border-radius:var(--radius-md);color:var(--color-success);font-weight:500;text-align:center}.map-container{position:relative;width:100%;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:var(--radius-lg);border:1px solid var(--color-border)}.map-container iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}.map-container--short{padding-bottom:35%}@media (max-width:599px){.map-container{padding-bottom:75%}}.footer{background:var(--color-primary-dark);color:rgba(255,255,255,.8);padding-top:var(--space-3xl)}.footer a{color:rgba(255,255,255,.8);transition:color var(--transition-fast)}.footer a:hover{color:var(--color-accent)}.footer__grid{display:grid;grid-template-columns:1fr;gap:var(--space-2xl);padding-bottom:var(--space-3xl)}@media (min-width:600px){.footer__grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.footer__grid{grid-template-columns:2fr 1fr 1fr 1fr}}.footer__heading{font-size:1rem;font-weight:700;color:var(--color-white);margin-bottom:var(--space-lg);text-transform:uppercase;letter-spacing:.05em}.footer__about-text{font-size:.9rem;line-height:1.7;margin-bottom:var(--space-lg)}.footer__logo{display:flex;align-items:center;gap:var(--space-sm);font-size:1.25rem;font-weight:800;color:var(--color-white);margin-bottom:var(--space-md)}.footer__logo img{height:36px;width:auto}.footer__links{display:flex;flex-direction:column;gap:var(--space-sm)}.footer__links a,.footer__links span{font-size:.9rem;padding:var(--space-xs) 0;display:block;color:rgba(255,255,255,.7)}.footer__contact-item{display:flex;gap:var(--space-sm);align-items:flex-start;margin-bottom:var(--space-md);font-size:.9rem}.footer__contact-icon{width:18px;height:18px;flex-shrink:0;margin-top:3px;opacity:.7}.footer__social{display:flex;flex-direction:column;gap:var(--space-sm)}.footer__social-link{display:block;font-size:.9rem;padding:var(--space-xs) 0;color:rgba(255,255,255,.8);transition:color var(--transition-fast)}.footer__social-link:hover{color:var(--color-accent)}.footer__social-link svg{width:18px;height:18px}.footer__bottom{border-top:1px solid rgba(255,255,255,.1);padding:var(--space-lg) 0;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-md);font-size:.825rem;color:rgba(255,255,255,.5)}.footer__bottom-links{display:flex;gap:var(--space-lg)}.footer__bottom-links a{color:rgba(255,255,255,.5);font-size:.825rem}.footer__bottom-links a:hover{color:var(--color-accent)}.blog-grid{display:grid;grid-template-columns:1fr;gap:var(--space-xl)}@media (min-width:600px){.blog-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.blog-grid{grid-template-columns:repeat(3,1fr)}}.blog-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;transition:transform var(--transition-base),box-shadow var(--transition-base)}.blog-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.blog-card__image{width:100%;aspect-ratio:16/9;overflow:hidden}.blog-card__image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.blog-card:hover .blog-card__image img{transform:scale(1.04)}.blog-card__body{padding:var(--space-lg)}.blog-card__meta{display:flex;align-items:center;gap:var(--space-sm);font-size:.8rem;color:var(--color-text-muted);margin-bottom:var(--space-sm)}.blog-card__category{display:inline-block;padding:2px 10px;background:var(--color-accent-light);color:var(--color-accent-hover);border-radius:var(--radius-full);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.blog-card__title{font-size:1.1rem;font-weight:700;margin-bottom:var(--space-sm);color:var(--color-text);line-height:1.35}.blog-card__excerpt{font-size:.9rem;color:var(--color-text-muted);line-height:1.6;margin-bottom:var(--space-md);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.blog-card__read-more{font-size:.875rem;font-weight:600;color:var(--color-accent-hover);display:inline-flex;align-items:center;gap:var(--space-xs);transition:color var(--transition-fast),gap var(--transition-fast)}.blog-card__read-more::after{content:'\2192';transition:transform var(--transition-fast)}.blog-card__read-more:hover{color:var(--color-accent)}.blog-card__read-more:hover::after{transform:translateX(3px)}.article{max-width:760px;margin-inline:auto;padding-block:var(--space-3xl)}.article__header{text-align:center;margin-bottom:var(--space-3xl)}.article__meta{display:flex;align-items:center;justify-content:center;gap:var(--space-md);font-size:.875rem;color:var(--color-text-muted);margin-top:var(--space-lg)}.article__featured-image{width:100%;border-radius:var(--radius-lg);margin-bottom:var(--space-2xl)}.article__content h2{margin-top:var(--space-2xl);margin-bottom:var(--space-md);padding-top:var(--space-lg)}.article__content h3{margin-top:var(--space-xl);margin-bottom:var(--space-sm)}.article__content h4{margin-top:var(--space-lg);margin-bottom:var(--space-sm)}.article__content p{margin-bottom:var(--space-lg)}.article__content ol,.article__content ul{padding-left:1.5rem;margin-bottom:var(--space-lg)}.article__content ul{list-style:disc}.article__content ol{list-style:decimal}.article__content li{margin-bottom:var(--space-sm);line-height:1.7}.article__content li::marker{color:var(--color-accent)}.article__content blockquote{margin:var(--space-xl) 0;padding:var(--space-lg) var(--space-xl);border-left:4px solid var(--color-accent);background:var(--color-accent-light);border-radius:0 var(--radius-md) var(--radius-md) 0;font-style:italic;color:var(--color-text)}.article__content blockquote p:last-child{margin-bottom:0}.article__content img{border-radius:var(--radius-md);margin-block:var(--space-lg)}.article__content table{width:100%;margin-block:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.article__content td,.article__content th{padding:var(--space-sm) var(--space-md);text-align:left;border-bottom:1px solid var(--color-border)}.article__content th{background:var(--color-primary-dark);color:var(--color-white);font-weight:600;font-size:.9rem}.article__content td{font-size:.925rem}.article__content tr:nth-child(2n) td{background:var(--color-card)}.article__content code{background:var(--color-card);padding:2px 6px;border-radius:4px;font-size:.875em;border:1px solid var(--color-border)}.article__content pre{background:var(--color-primary-dark);color:rgba(255,255,255,.9);padding:var(--space-lg);border-radius:var(--radius-md);overflow-x:auto;margin-block:var(--space-lg)}.article__content pre code{background:0 0;border:none;padding:0;color:inherit}.article__content hr{border:none;height:1px;background:var(--color-border);margin-block:var(--space-2xl)}.toc{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-lg);margin-bottom:var(--space-2xl)}.toc__title{font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:var(--space-md)}.toc__list{display:flex;flex-direction:column;gap:var(--space-xs);counter-reset:toc}.toc__list li{counter-increment:toc}.toc__list a{display:flex;align-items:baseline;gap:var(--space-sm);font-size:.9rem;color:var(--color-text);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);transition:background var(--transition-fast),color var(--transition-fast)}.toc__list a::before{content:counter(toc) '.';font-weight:600;color:var(--color-accent-hover);flex-shrink:0}.toc__list a:hover{background:var(--color-accent-light);color:var(--color-accent-hover)}.toc__list .toc__sublist{padding-left:var(--space-lg);margin-top:var(--space-xs);counter-reset:toc-sub}.toc__sublist li{counter-increment:toc-sub}.toc__sublist a::before{content:counter(toc) '.' counter(toc-sub)}.process{background:var(--color-card)}.process-steps{display:grid;grid-template-columns:1fr;gap:var(--space-2xl);position:relative}@media (min-width:768px){.process-steps{grid-template-columns:repeat(4,1fr);gap:var(--space-xl)}.process-steps::before{content:'';position:absolute;top:36px;left:calc(12.5% + 20px);right:calc(12.5% + 20px);height:2px;background:var(--color-border);z-index:0}}.process-step{display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;z-index:1}@media (max-width:767px){.process-step:not(:last-child)::after{content:'';width:2px;height:var(--space-2xl);background:var(--color-border);position:absolute;bottom:calc(var(--space-2xl) * -1);left:50%;transform:translateX(-50%);z-index:0}}.process-step__number{width:72px;height:72px;display:flex;align-items:center;justify-content:center;background:var(--color-accent);color:var(--color-primary-dark);font-size:1.5rem;font-weight:800;border-radius:var(--radius-full);margin-bottom:var(--space-lg);box-shadow:var(--shadow-md);position:relative}.process-step__icon{width:32px;height:32px;margin-bottom:var(--space-sm);color:var(--color-accent-hover)}.process-step__title{font-size:1.05rem;font-weight:700;color:var(--color-text);margin-bottom:var(--space-sm)}.process-step__text{font-size:.875rem;color:var(--color-text-muted);line-height:1.6;max-width:240px}.pricing{background:var(--color-bg)}.pricing-grid{display:grid;grid-template-columns:1fr;gap:var(--space-xl)}@media (min-width:600px){.pricing-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.pricing-grid{grid-template-columns:repeat(3,1fr)}}.pricing-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-2xl);text-align:center;transition:transform var(--transition-base),box-shadow var(--transition-base)}.pricing-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.pricing-card--featured{border-color:var(--color-accent);position:relative}.pricing-card--featured::before{content:'Populärast';position:absolute;top:-12px;left:50%;transform:translateX(-50%);padding:4px 16px;background:var(--color-accent);color:var(--color-primary-dark);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-full)}.pricing-card__title{font-size:1.1rem;font-weight:700;color:var(--color-text);margin-bottom:var(--space-sm)}.pricing-card__description{font-size:.875rem;color:var(--color-text-muted);margin-bottom:var(--space-lg)}.pricing-card__price{margin-bottom:var(--space-lg)}.pricing-card__price-label{font-size:.8rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;display:block;margin-bottom:var(--space-xs)}.pricing-card__price-value{font-size:2rem;font-weight:800;color:var(--color-text);line-height:1}.pricing-card__price-unit{font-size:.9rem;font-weight:400;color:var(--color-text-muted)}.pricing-card__features{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-xl);text-align:left}.pricing-card__feature{display:flex;align-items:center;gap:var(--space-sm);font-size:.9rem;color:var(--color-text)}.pricing-card__feature::before{content:'\2713';color:var(--color-success);font-weight:700;flex-shrink:0}.pricing-card__note{font-size:.8rem;color:var(--color-text-muted);margin-top:var(--space-md);font-style:italic}.price-range{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);background:var(--color-accent-light);border-radius:var(--radius-md);margin-bottom:var(--space-md)}.price-range__label{font-size:.85rem;color:var(--color-text-muted);font-weight:500}.price-range__value{font-size:1rem;font-weight:700;color:var(--color-text);margin-left:auto}.rot-notice{display:flex;align-items:flex-start;gap:var(--space-md);padding:var(--space-lg);background:var(--color-accent-light);border:1px solid var(--color-accent);border-radius:var(--radius-md);margin-top:var(--space-xl)}.rot-notice__icon{flex-shrink:0;width:24px;height:24px;color:var(--color-accent-hover)}.rot-notice__text{font-size:.9rem;line-height:1.6;color:var(--color-text)}.fade-in{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}.fade-in.visible{opacity:1;transform:translateY(0)}.slide-in-left{opacity:0;transform:translateX(-40px);transition:opacity .6s ease,transform .6s ease}.slide-in-left.visible{opacity:1;transform:translateX(0)}.slide-in-right{opacity:0;transform:translateX(40px);transition:opacity .6s ease,transform .6s ease}.slide-in-right.visible{opacity:1;transform:translateX(0)}.scale-in{opacity:0;transform:scale(.92);transition:opacity .5s ease,transform .5s ease}.scale-in.visible{opacity:1;transform:scale(1)}.stagger-children>:first-child{transition-delay:0s}.stagger-children>:nth-child(2){transition-delay:80ms}.stagger-children>:nth-child(3){transition-delay:160ms}.stagger-children>:nth-child(4){transition-delay:240ms}.stagger-children>:nth-child(5){transition-delay:320ms}.stagger-children>:nth-child(6){transition-delay:0.4s}@keyframes fadeIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{from{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{from{opacity:0;transform:translateX(40px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important;scroll-behavior:auto!important}.fade-in,.scale-in,.slide-in-left,.slide-in-right{opacity:1;transform:none}}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:1rem}.mt-4{margin-top:1.5rem}.mt-5{margin-top:3rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.5rem}.mb-5{margin-bottom:3rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:1rem}.pt-4{padding-top:1.5rem}.pt-5{padding-top:3rem}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:1rem}.pb-4{padding-bottom:1.5rem}.pb-5{padding-bottom:3rem}.d-none{display:none}.d-block{display:block}.d-flex{display:flex}.d-grid{display:grid}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:1rem}.gap-4{gap:1.5rem}.gap-5{gap:3rem}.w-full{width:100%}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width:599px){.hide-mobile{display:none!important}}@media (min-width:600px) and (max-width:1023px){.hide-tablet{display:none!important}}@media (min-width:1024px){.hide-desktop{display:none!important}}.text-accent{color:var(--color-accent)}.text-muted{color:var(--color-text-muted)}.text-white{color:var(--color-white)}.bg-card{background-color:var(--color-card)}.bg-dark{background-color:var(--color-primary-dark)}.rounded{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-full{border-radius:var(--radius-full)}.spinner{width:24px;height:24px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .6s linear infinite}.divider{height:1px;background:var(--color-border);border:none;margin-block:var(--space-xl)}.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:3000;background:var(--color-primary-dark);color:rgba(255,255,255,.9);padding:var(--space-lg) 0;box-shadow:0 -4px 20px rgba(0,0,0,.15);transform:translateY(100%);transition:transform var(--transition-slow)}.cookie-banner.visible{transform:translateY(0)}.cookie-banner__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-lg);max-width:var(--container-max);margin-inline:auto;padding-inline:var(--container-padding)}.cookie-banner__text{flex:1;min-width:280px;font-size:.875rem;line-height:1.6}.cookie-banner__text a{color:var(--color-accent);text-decoration:underline;text-underline-offset:2px}.cookie-banner__text a:hover{color:var(--color-accent-hover)}.cookie-banner__actions{display:flex;gap:var(--space-sm);flex-shrink:0}.cookie-banner__btn{padding:.6rem 1.25rem;font-size:.85rem;font-weight:600;border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast);border:none}.cookie-banner__btn--accept{background:var(--color-accent);color:var(--color-primary-dark)}.cookie-banner__btn--accept:hover{background:var(--color-accent-hover)}.cookie-banner__btn--reject{background:rgba(255,255,255,.1);color:var(--color-white);border:1px solid rgba(255,255,255,.2)}.cookie-banner__btn--reject:hover{background:rgba(255,255,255,.2)}.cookie-banner__btn--settings{background:0 0;color:rgba(255,255,255,.7);text-decoration:underline;text-underline-offset:2px;padding:.6rem .5rem}.cookie-banner__btn--settings:hover{color:var(--color-white)}.back-to-top{position:fixed;bottom:2rem;right:2rem;z-index:900;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--color-accent);color:var(--color-primary-dark);border:none;border-radius:var(--radius-full);box-shadow:var(--shadow-md);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity var(--transition-base),visibility var(--transition-base),transform var(--transition-base),background var(--transition-fast)}.back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top:hover{background:var(--color-accent-hover);transform:translateY(-3px);box-shadow:var(--shadow-lg)}.back-to-top:active{transform:translateY(0)}.back-to-top:focus-visible{outline:2px solid var(--color-primary-dark);outline-offset:3px}.back-to-top svg{width:22px;height:22px}.cookie-banner.visible~.back-to-top{bottom:6rem}.scroll-progress{position:fixed;top:0;left:0;width:0%;height:3px;background:linear-gradient(90deg,var(--color-accent),var(--color-accent-hover));z-index:1100;transition:width 50ms linear;border-radius:0 2px 2px 0}@media print{*,::after,::before{background:0 0!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}body{font-size:12pt;line-height:1.5}a,a:visited{text-decoration:underline}a[href]::after{content:' (' attr(href) ')';font-size:.8em;color:#666!important}a[href^="#"]::after,a[href^=javascript]::after{content:''}h1,h2,h3{page-break-after:avoid}img{max-width:100%!important;page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}.back-to-top,.btn-phone,.cookie-banner,.footer,.header,.hero__scroll-indicator,.lightbox,.nav,.nav-toggle,.scroll-progress{display:none!important}.hero{min-height:auto!important;padding:2rem 0!important}.hero::before{display:none!important}.hero__subtitle,.hero__title{color:#000!important}.container{max-width:100%;padding:0}section{padding:1.5rem 0;page-break-inside:avoid}.blog-card,.pricing-card,.review-card,.service-card{border:1px solid #ccc!important;page-break-inside:avoid}.blog-grid,.gallery-grid,.pricing-grid,.reviews-grid,.services-grid{grid-template-columns:repeat(2,1fr)!important}.footer__grid{grid-template-columns:repeat(2,1fr)!important}@page{margin:2cm}}

/* ============================================================
   ADDITIONS — All custom effects (Ken Burns, Slideshow, WOW)
   ============================================================ */

/* --- Ken Burns keyframe --- */
@keyframes kenburns {
  0%   { transform: scale(1) translate(0, 0); }
  50%  { transform: scale(1.08) translate(-1%, -0.5%); }
  100% { transform: scale(1) translate(0, 0); }
}

/* --- Hero Slideshow (DEFINITIVE - overrides all prior hero rules) --- */
.hero-slideshow {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  width: 100%; height: 100%;
  z-index: 0;
  overflow: hidden;
}
.hero-slide {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 0;
  transition: opacity 1.2s ease-in-out;
  animation: kenburns 12s ease-in-out infinite;
  will-change: transform, opacity;
}
.hero-slide.active { opacity: 1; }
.hero-slide:nth-child(2) { animation-delay: -4s; }
.hero-slide:nth-child(3) { animation-delay: -8s; }

/* Hide old hero-bg when slideshow exists */
.hero-slideshow ~ .hero-bg { display: none !important; }

/* Overlay above slides */
.hero-overlay { z-index: 1 !important; }

/* Content above overlay */
.hero-content { position: relative; z-index: 2 !important; }

/* --- CTA Pulse Glow --- */
@keyframes ctapulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(232,185,122,0.5); }
  50%      { box-shadow: 0 0 20px 6px rgba(232,185,122,0.25); }
}
.hero-ctas .btn-primary,
.contact-form-card .btn-primary { animation: ctapulse 2.5s ease-in-out infinite; }

/* --- Service Card Hover --- */
.service-card { transition: transform .3s ease, box-shadow .3s ease; }
.service-card:hover { transform: translateY(-6px); box-shadow: 0 12px 36px rgba(42,31,20,.12); }

/* --- Scroll Reveal (enhanced fade-in) --- */
.fade-in { opacity: 0; transform: translateY(28px); transition: opacity .7s ease, transform .7s ease; }
.fade-in.visible { opacity: 1; transform: translateY(0); }
.fade-in:nth-child(2) { transition-delay: .1s; }
.fade-in:nth-child(3) { transition-delay: .2s; }
.fade-in:nth-child(4) { transition-delay: .3s; }
.fade-in:nth-child(5) { transition-delay: .4s; }
.fade-in:nth-child(6) { transition-delay: .5s; }

/* --- Social Proof Ticker --- */
.social-ticker { background: var(--color-primary-dark); color: var(--color-white); overflow: hidden; padding: .6rem 0; font-size: .875rem; font-weight: 500; letter-spacing: .02em; }
.social-ticker__track { display: flex; gap: 3rem; animation: ticker 22s linear infinite; white-space: nowrap; width: max-content; }
.social-ticker__item { display: flex; align-items: center; gap: .4rem; flex-shrink: 0; }
.social-ticker__star { color: #E8B97A; }
@keyframes ticker { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }

/* --- Typed Cursor --- */
/* Hero H1 fade-in */
@keyframes herofadein { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
.hero-fadein { animation: herofadein 1.5s ease-out both; }

/* --- Scroll Progress Bar --- */
.scroll-progress { position: fixed; top: 0; left: 0; height: 3px; width: 0; background: linear-gradient(90deg, #E8B97A, #d4a056); z-index: 10001; pointer-events: none; }

/* --- Before/After Slider --- */
.ba-slider__wrap { position: relative; overflow: hidden; border-radius: 16px; aspect-ratio: 4/3; cursor: ew-resize; user-select: none; -webkit-user-select: none; }
.ba-slider__after { display: block; width: 100%; height: 100%; object-fit: cover; }
.ba-slider__before { position: absolute; inset: 0; width: 50%; overflow: hidden; }
.ba-slider__before img { display: block; width: 200%; max-width: none; height: 100%; object-fit: cover; }
.ba-slider__handle { position: absolute; top: 0; bottom: 0; left: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; transform: translateX(-50%); z-index: 3; pointer-events: none; }
.ba-slider__line { width: 3px; flex: 1; background: rgba(255,255,255,.85); }
.ba-slider__btn { width: 44px; height: 44px; border-radius: 50%; background: #E8B97A; color: #3A3028; display: flex; align-items: center; justify-content: center; font-size: 1.2rem; font-weight: 700; box-shadow: 0 2px 12px rgba(0,0,0,.3); pointer-events: auto; flex-shrink: 0; }
.ba-slider__label { position: absolute; bottom: 1rem; padding: .35rem .8rem; border-radius: 6px; font-size: .8rem; font-weight: 600; z-index: 2; pointer-events: none; }
.ba-slider__label--fore { left: 1rem; background: rgba(42,31,20,.75); color: #FDF8F2; }
.ba-slider__label--efter { right: 1rem; background: rgba(232,185,122,.9); color: #3A3028; }

/* --- Floating CTA --- */
.floating-cta { position: fixed; right: 1.5rem; bottom: 6rem; display: flex; align-items: center; gap: .5rem; background: #E8B97A; color: #3A3028; padding: .7rem 1.2rem; border-radius: 50px; font-weight: 700; font-size: .9rem; text-decoration: none; box-shadow: 0 4px 20px rgba(232,185,122,.4); z-index: 998; opacity: 0; transform: translateX(120px); transition: opacity .4s ease, transform .4s ease; animation: ctapulse 2.5s ease-in-out infinite; }
.floating-cta.visible { opacity: 1; transform: translateX(0); }
.floating-cta__icon { font-size: 1.2rem; }
.floating-cta__number { font-size: .8rem; opacity: .8; }
.floating-cta:hover { background: #d4a056; transform: translateX(0) scale(1.04); text-decoration: none; }

/* --- Footer logo white filter --- */
.footer__logo img, .footer-logo img { filter: invert(1) brightness(2); }
.footer__links span { display: block; color: rgba(255,255,255,0.7); }

/* === MOBILE (max 768px) === */
@media (max-width: 768px) {
  .hero-slide {
  /* div-based slide with background-image */ animation: kenburns 20s ease-in-out infinite; }
  .hero-content h1 { font-size: clamp(1.6rem, 7vw, 2.5rem); }
  .hero-subtitle { font-size: clamp(0.85rem, 3vw, 1.1rem); }
  .hero-ctas { flex-direction: column; gap: .75rem; }
  .hero-ctas .btn { width: 100%; justify-content: center; }
  .social-ticker__track { animation: ticker 16s linear infinite; }
  .floating-cta { right: auto; left: 50%; bottom: 1rem; transform: translateX(-50%) translateY(80px); padding: .6rem 1.2rem; font-size: .85rem; }
  .floating-cta.visible { transform: translateX(-50%) translateY(0); }
  .floating-cta:hover { transform: translateX(-50%) scale(1.02); }
  .floating-cta__number { display: none; }
}

/* === iOS Safari fix === */
@supports (-webkit-touch-callout: none) {
  .hero { min-height: -webkit-fill-available; }
}

/* === Reduced motion === */
@media (prefers-reduced-motion: reduce) {
  .hero-slide {
  /* div-based slide with background-image */ animation: none !important; }
  .hero-bg img, .social-ticker__track { animation: none !important; }
  .fade-in { opacity: 1 !important; transform: none !important; transition: none !important; }
  .hero-ctas .btn-primary, .contact-form-card .btn-primary, .floating-cta { animation: none !important; }
  .hero-fadein { opacity: 1 !important; animation: none !important; }
}
