:root{--color-black:rgb(0,0,0);--color-white:rgb(255,255,255);--color-gray:rgb(96,96,96);--color-dark:rgb(30,28,28);--color-overlay:rgba(0,0,0,0.184);--color-charcoal:rgb(39,39,39);--color-bg:#fafafa;--color-surface:#ffffff;--color-text:var(--color-black);--color-text-secondary:var(--color-gray);--color-border:rgba(0,0,0,0.08);--color-glass-bg:rgba(255,255,255,0.72);--color-glass-border:rgba(255,255,255,0.35);--color-accent:var(--color-dark);--font-serif:'Playfair Display',Georgia,'Times New Roman',serif;--font-sans:'Inter',system-ui,-apple-system,sans-serif;--font-base:1rem;--font-sm:0.875rem;--font-xs:0.75rem;--font-lg:1.125rem;--font-xl:1.5rem;--font-2xl:2rem;--font-3xl:2.75rem;--font-4xl:3.5rem;--line-tight:1.15;--line-normal:1.6;--line-relaxed:1.8;--letter-tight:-0.02em;--letter-wide:0.04em;--space-xs:0.5rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:2.5rem;--space-xl:4rem;--space-2xl:6rem;--space-3xl:8rem;--container-max:1200px;--container-narrow:760px;--radius:0.5rem;--radius-lg:1rem;--shadow-sm:0 1px 3px rgba(0,0,0,0.06);--shadow-md:0 8px 30px rgba(0,0,0,0.08);--shadow-lg:0 20px 60px rgba(0,0,0,0.1);--transition-fast:0.2s ease;--transition-base:0.35s ease;--transition-slow:0.6s cubic-bezier(0.22,1,0.36,1)}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;color-scheme:light}html,body{overflow-x:hidden}body{font-family:var(--font-serif);font-size:var(--font-base);line-height:var(--line-normal);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none}a{color:inherit;text-decoration:none;transition:color var(--transition-fast)}ul,ol{list-style:none}fieldset{border:none}.sr-only,.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:500;line-height:var(--line-tight);letter-spacing:var(--letter-tight);overflow-wrap:break-word;word-wrap:break-word}h1{font-size:var(--font-4xl)}h2{font-size:var(--font-3xl)}h3{font-size:var(--font-2xl)}h4{font-size:var(--font-xl)}h5{font-size:var(--font-lg)}h6{font-size:var(--font-base);font-weight:600}p{overflow-wrap:break-word;word-wrap:break-word;margin-bottom:var(--space-sm)}p:last-child{margin-bottom:0}.container{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--space-lg)}.section-inner{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--space-lg)}.editorial-narrow{max-width:var(--container-narrow)}.content-section,.contact-section,.projects-section,.team,.contact,.trust-badges,.services,.indoor-work,.outdoor-work,.project-gallery{padding-block:var(--space-2xl)}.fade-in-up{opacity:0;transform:translateY(40px);animation:fadeInUp 0.9s var(--transition-slow) forwards}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}.glass-card{background:var(--color-glass-bg);backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);border:1px solid var(--color-glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:transform var(--transition-base),box-shadow var(--transition-base)}.glass-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.site-header{position:sticky;top:0;z-index:100;background:rgba(250,250,250,0.88);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--color-border)}.header-inner{display:flex;align-items:center;justify-content:space-between;max-width:var(--container-max);margin-inline:auto;padding:var(--space-sm) var(--space-lg);min-height:72px}.brand-logo,.header-logo,.header-brand,.logo-link,.brand-link{display:flex;align-items:center;flex-shrink:0}.brand-logo img,.header-logo img,.header-brand img,.logo-link img,.brand-link img{max-height:44px;width:auto}.primary-nav,.primary-navigation{display:flex;align-items:center}.nav-list{display:flex;gap:var(--space-lg);align-items:center}.nav-list li{position:relative}.nav-list a,.nav-link{font-family:var(--font-sans);font-size:var(--font-sm);font-weight:500;letter-spacing:var(--letter-wide);text-transform:uppercase;color:var(--color-text);padding:var(--space-xs) 0;position:relative;transition:color var(--transition-fast)}.nav-list a::after,.nav-link::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--color-accent);transition:width var(--transition-base)}.nav-list a:hover::after,.nav-link:hover::after{width:100%}.nav-list a:hover,.nav-link:hover{color:var(--color-charcoal)}.nav-toggle,.mobile-nav-toggle{display:none;flex-direction:column;justify-content:center;align-items:center;width:44px;height:44px;gap:6px;z-index:110}.nav-toggle-bar,.hamburger-bar{display:block;width:24px;height:2px;background:var(--color-text);border-radius:1px;transition:transform var(--transition-base),opacity var(--transition-base)}.nav-toggle-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.hero{position:relative;height:calc(100vh - 72px);min-height:calc(100vh - 72px);height:calc(100dvh - 72px);min-height:calc(100dvh - 72px);display:flex;flex-direction:column;justify-content:space-between;align-items:center;text-align:center;background-image:image-set(url(../media/d81747818154.avif) type('image/avif'), url(../media/71584468c566.webp) type('image/webp'));background-position:center;background-repeat:no-repeat;background-size:cover;overflow:hidden;padding-top:var(--space-xl);padding-bottom:var(--space-lg);background-color:var(--color-surface)}.hero-content{position:relative;z-index:2;max-width:900px;padding-inline:var(--space-lg);margin-top:auto;margin-bottom:auto}.hero-content h1{font-size:clamp(2.5rem,5.5vw,var(--font-4xl));font-weight:600;margin-bottom:var(--space-sm);color:var(--color-white);text-shadow:0 2px 12px rgba(0,0,0,0.4)}.hero-content h2{font-size:clamp(1.125rem,2.2vw,var(--font-xl));font-weight:500;font-style:normal;text-transform:uppercase;letter-spacing:var(--letter-wide);color:rgba(255,255,255,0.9);text-shadow:0 1px 8px rgba(0,0,0,0.3)}.hero-services{position:relative;z-index:2;width:100%}.page-hero{position:relative;min-height:55vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(160deg,#f0f0f0 0%,#e0e0e0 100%);overflow:hidden;padding-block:var(--space-3xl) var(--space-xl)}.page-hero .hero-content{position:relative;z-index:2;max-width:800px;padding:var(--space-xl)}.page-hero .hero-title,.page-hero h1{font-size:clamp(2rem,5vw,var(--font-3xl));font-weight:600;margin-bottom:var(--space-md);color:var(--color-dark)}.page-hero .hero-subtitle{font-size:var(--font-lg);color:var(--color-gray);font-style:italic;max-width:600px;margin-inline:auto}.hero-image-wrap{position:relative;width:100%;max-width:var(--container-max);margin-inline:auto;margin-top:var(--space-xl);padding-inline:var(--space-lg);z-index:2}.hero-image{width:100%;height:auto;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);object-fit:cover}.page-hero-inner{max-width:var(--container-narrow);margin-inline:auto;padding:var(--space-xl) var(--space-lg);text-align:center}.page-title{font-size:clamp(1.75rem,4vw,var(--font-3xl));margin-bottom:var(--space-md)}.page-intro{font-size:var(--font-lg);color:var(--color-gray);font-style:italic}.btn,.btn-primary,.form-submit input[type="submit"]{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);font-family:var(--font-sans);font-size:var(--font-sm);font-weight:500;letter-spacing:var(--letter-wide);text-transform:uppercase;padding:var(--space-sm) var(--space-lg);border-radius:var(--radius);background:var(--color-dark);color:var(--color-white);border:1.5px solid var(--color-dark);cursor:pointer;transition:background var(--transition-base),color var(--transition-base),transform var(--transition-base),box-shadow var(--transition-base)}.btn:hover,.btn-primary:hover,.form-submit input[type="submit"]:hover{background:transparent;color:var(--color-dark);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-primary:active,.btn:active{transform:translateY(0)}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-lg)}.service-card{overflow:hidden;border-radius:var(--radius-lg);transition:transform var(--transition-base),box-shadow var(--transition-base)}.service-figure{aspect-ratio:4 / 3;overflow:hidden;margin:0}.service-figure img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.service-card:hover .service-figure img{transform:scale(1.06)}.service-body{padding:var(--space-md);text-align:center}.service-body h3{margin:0}.service-body h3 a{font-family:var(--font-sans);font-size:var(--font-sm);font-weight:600;letter-spacing:var(--letter-wide);text-transform:uppercase;color:var(--color-dark);transition:color var(--transition-fast)}.service-body h3 a:hover{color:var(--color-gray)}.indoor-work,.outdoor-work{background:var(--color-white)}.text-block{max-width:var(--container-narrow);margin-inline:auto;text-align:center}.text-block h3{font-size:var(--font-2xl);margin-bottom:var(--space-md);color:var(--color-dark)}.text-block p{font-size:var(--font-lg);color:var(--color-text-secondary);line-height:var(--line-relaxed)}.text-block p a{color:var(--color-dark);border-bottom:1px solid var(--color-border);transition:border-color var(--transition-fast)}.text-block p a:hover{border-color:var(--color-dark)}.outdoor-content{display:flex;flex-direction:column;gap:var(--space-xl);align-items:center}.service-lists{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg);width:100%;max-width:800px}.service-list-block{background:var(--color-bg);border-radius:var(--radius);padding:var(--space-lg)}.service-list-block ul{display:flex;flex-direction:column;gap:var(--space-sm)}.service-list-block li{font-family:var(--font-sans);font-size:var(--font-sm);color:var(--color-gray);padding-left:var(--space-md);position:relative}.service-list-block li::before{content:'—';position:absolute;left:0;color:var(--color-dark)}.project-gallery{background:var(--color-bg)}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-md)}.gallery-item{overflow:hidden;border-radius:var(--radius);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.05)}.team{background:var(--color-white)}.team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-lg);max-width:900px;margin-inline:auto}.team-card{overflow:hidden;text-align:center}.team-figure{aspect-ratio:1 / 1;overflow:hidden}.team-figure img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.team-card:hover .team-figure img{transform:scale(1.04)}.team-body{padding:var(--space-md)}.team-name{font-family:var(--font-serif);font-size:var(--font-lg);font-weight:600;margin-bottom:var(--space-xs)}.team-role{font-family:var(--font-sans);font-size:var(--font-sm);color:var(--color-gray);font-style:italic;margin-bottom:var(--space-sm)}.team-phone,.team-email{font-family:var(--font-sans);font-size:var(--font-sm);color:var(--color-gray)}.team-email a{color:var(--color-dark);border-bottom:1px solid transparent;transition:border-color var(--transition-fast)}.team-email a:hover{border-color:var(--color-dark)}.contact{background:var(--color-bg)}.contact-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:var(--space-xl);align-items:start}.contact-info{font-family:var(--font-sans);font-size:var(--font-sm);line-height:var(--line-relaxed);color:var(--color-gray)}.contact-info strong{color:var(--color-dark);font-weight:600}.contact-info p{margin-bottom:var(--space-md)}.contact-form-wrapper,.contact-form-wrap{background:var(--color-white);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow-md)}.contact-form fieldset{display:flex;flex-direction:column;gap:var(--space-md)}.form-row,.form-group{display:flex;flex-direction:column;gap:var(--space-xs)}.form-row label,.form-group label{font-family:var(--font-sans);font-size:var(--font-xs);font-weight:500;letter-spacing:var(--letter-wide);text-transform:uppercase;color:var(--color-gray)}.form-row input,.form-row textarea,.form-group input,.form-group textarea{width:100%;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);font-family:var(--font-sans);font-size:var(--font-base);color:var(--color-text);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-row input:focus,.form-row textarea:focus,.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-dark);box-shadow:0 0 0 3px rgba(30,28,28,0.08)}.form-row textarea,.form-group textarea{min-height:140px;resize:vertical}.form-row-full textarea{min-height:180px}.form-submit{margin-top:var(--space-sm)}.form-submit input[type="submit"]{width:100%}.form-heading{font-size:var(--font-xl);margin-bottom:var(--space-lg);text-align:center}.trust-badges{background:var(--color-white);padding-block:var(--space-xl)}.badges-grid{display:flex;justify-content:center;align-items:center;gap:var(--space-xl);flex-wrap:wrap}.badge-item{opacity:0.65;transition:opacity var(--transition-base);filter:grayscale(0.3)}.badge-item:hover{opacity:1;filter:grayscale(0)}.badge-item img{max-height:56px;width:auto}.content-section{padding-block:var(--space-xl)}.content-section:nth-child(even){background:var(--color-white)}.lead-paragraph{font-size:var(--font-xl);line-height:var(--line-relaxed);color:var(--color-text-secondary);font-style:italic;text-align:center;max-width:var(--container-narrow);margin-inline:auto}.section-heading{font-size:var(--font-2xl);margin-bottom:var(--space-lg);color:var(--color-dark)}.editorial-text{font-size:var(--font-base);line-height:var(--line-relaxed);color:var(--color-text-secondary)}.editorial-text p{margin-bottom:var(--space-md)}.editorial-text strong{color:var(--color-dark);font-weight:600}.editorial-text h3{font-size:var(--font-xl);margin-top:var(--space-lg);margin-bottom:var(--space-sm);color:var(--color-dark)}.editorial-list{display:flex;flex-direction:column;gap:var(--space-sm);margin:var(--space-md) 0;padding-left:var(--space-lg)}.editorial-list li{position:relative;padding-left:var(--space-md);color:var(--color-text-secondary)}.editorial-list li::before{content:'';position:absolute;left:0;top:0.6em;width:6px;height:6px;border-radius:50%;background:var(--color-dark)}.accent-section{background:linear-gradient(135deg,#f5f5f5 0%,#ececec 100%)}.info-list{display:flex;flex-direction:column;gap:var(--space-sm);margin-top:var(--space-md);padding-left:var(--space-lg)}.info-list li{position:relative;padding-left:var(--space-md);color:var(--color-text-secondary);line-height:var(--line-relaxed)}.info-list li::before{content:'';position:absolute;left:0;top:0.55em;width:6px;height:6px;border-radius:50%;background:var(--color-dark)}.info-list li strong{color:var(--color-dark)}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg);margin-top:var(--space-lg)}.product-card{overflow:hidden;text-align:center}.product-figure{aspect-ratio:4 / 3;overflow:hidden}.product-figure img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.product-card:hover .product-figure img{transform:scale(1.05)}.product-info{padding:var(--space-md)}.product-label{font-family:var(--font-sans);font-size:var(--font-sm);font-weight:500;color:var(--color-dark)}.contact-person,.person-info{text-align:center}.person-photo,.person-figure{aspect-ratio:1 / 1;overflow:hidden;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.person-photo img,.person-figure img{width:100%;height:100%;object-fit:cover}.person-name{font-size:var(--font-xl);font-weight:600;margin-top:var(--space-md);margin-bottom:var(--space-xs)}.person-title{font-family:var(--font-sans);font-size:var(--font-sm);color:var(--color-gray);font-style:italic;margin-bottom:var(--space-sm)}.person-phone,.person-email{font-family:var(--font-sans);font-size:var(--font-sm);color:var(--color-gray)}.person-email a{color:var(--color-dark);border-bottom:1px solid transparent;transition:border-color var(--transition-fast)}.person-email a:hover{border-color:var(--color-dark)}.contact-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:var(--space-xl);align-items:start}.contact-layout .contact-person{padding:var(--space-lg)}.contact-layout .contact-form-wrapper{padding:var(--space-xl)}.projects-section{display:flex;flex-direction:column;gap:var(--space-2xl)}.project-card{padding:var(--space-xl)}.project-header{margin-bottom:var(--space-lg);text-align:center}.project-title{font-size:var(--font-2xl);color:var(--color-dark)}.project-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-md)}.project-gallery .gallery-item{border-radius:var(--radius);overflow:hidden;aspect-ratio:4 / 3}.project-gallery .gallery-link{display:block;width:100%;height:100%}.gallery-image{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.gallery-link:hover .gallery-image{transform:scale(1.04)}.page-article{max-width:var(--container-max);margin-inline:auto}.content-inner{max-width:var(--container-narrow);margin-inline:auto;padding-inline:var(--space-lg)}.content-inner h2{font-size:var(--font-xl);margin-bottom:var(--space-md);margin-top:var(--space-xl);color:var(--color-dark)}.content-inner h2:first-child{margin-top:0}.content-inner h3{font-size:var(--font-lg);margin-bottom:var(--space-sm);margin-top:var(--space-lg);color:var(--color-charcoal)}.content-inner p{color:var(--color-text-secondary);line-height:var(--line-relaxed);margin-bottom:var(--space-md)}.content-inner a{color:var(--color-dark);border-bottom:1px solid var(--color-border);transition:border-color var(--transition-fast)}.content-inner a:hover{border-color:var(--color-dark)}.content-inner em{font-style:italic;color:var(--color-gray)}.floating-call,.floating-phone{position:fixed;bottom:var(--space-lg);right:var(--space-lg);z-index:90;display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-dark);color:var(--color-white);border-radius:100px;box-shadow:var(--shadow-lg);font-family:var(--font-sans);font-size:var(--font-sm);font-weight:500;transition:transform var(--transition-base),box-shadow var(--transition-base)}.floating-call:hover,.floating-phone:hover{transform:translateY(-3px);box-shadow:0 12px 40px rgba(0,0,0,0.2)}.floating-call img,.floating-phone img{width:20px;height:20px;filter:invert(1)}.call-number{white-space:nowrap}.site-footer{background:var(--color-dark);color:rgba(255,255,255,0.7);font-family:var(--font-sans);font-size:var(--font-sm)}.footer-top{padding-block:var(--space-xl);border-bottom:1px solid rgba(255,255,255,0.1)}.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2xl);max-width:var(--container-max);margin-inline:auto;padding-inline:var(--space-lg)}.footer-logo img{height:40px;width:auto;margin-bottom:var(--space-md);filter:brightness(0) invert(1)}.footer-about p{line-height:var(--line-relaxed);max-width:280px;margin-bottom:0}.footer-col h4{color:var(--color-white);font-size:var(--font-sm);font-weight:600;text-transform:uppercase;letter-spacing:var(--letter-wide);margin-bottom:var(--space-md)}.footer-links ul,.footer-contact ul{display:flex;flex-direction:column;gap:var(--space-xs)}.footer-links a{color:rgba(255,255,255,0.65);transition:color var(--transition-fast)}.footer-links a:hover{color:var(--color-white)}.footer-contact li{display:flex;align-items:center;gap:var(--space-xs);color:rgba(255,255,255,0.65)}.footer-contact svg{flex-shrink:0;opacity:0.6}.footer-contact a{color:rgba(255,255,255,0.65);transition:color var(--transition-fast)}.footer-contact a:hover{color:var(--color-white)}.footer-bottom{padding-block:var(--space-md)}.footer-bottom-inner{max-width:var(--container-max);margin-inline:auto;padding-inline:var(--space-lg);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-sm)}.footer-bottom p{margin:0;font-size:var(--font-xs);opacity:0.5}.footer-bottom-links{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--font-xs)}.footer-bottom-links a{color:rgba(255,255,255,0.5);transition:color var(--transition-fast)}.footer-bottom-links a:hover{color:var(--color-white)}.footer-bottom-links span{opacity:0.3}.footer-inner,.footer-content,.footer-legal{max-width:var(--container-max);margin-inline:auto;padding-inline:var(--space-lg);text-align:center}.site-footer p{line-height:var(--line-relaxed);margin-bottom:var(--space-sm)}.site-footer a,.footer-link{color:rgba(255,255,255,0.85);border-bottom:1px solid transparent;transition:color var(--transition-fast),border-color var(--transition-fast)}.site-footer a:hover,.footer-link:hover{color:var(--color-white);border-color:rgba(255,255,255,0.4)}.footer-legal p{margin-bottom:var(--space-xs)}@media (max-width:1024px){:root{--space-2xl:4.5rem;--space-3xl:6rem}.services-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:repeat(2,1fr)}.product-grid{grid-template-columns:repeat(2,1fr)}.contact-grid,.contact-layout{grid-template-columns:1fr;gap:var(--space-xl)}.team-grid{max-width:600px}.project-gallery{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.hero-content h1{font-size:clamp(2rem,5vw,3rem)}}@media (max-width:768px){:root{--space-lg:1.5rem;--space-xl:2.5rem;--space-2xl:3.5rem;--font-4xl:2.5rem;--font-3xl:2rem;--font-2xl:1.625rem}.header-inner{padding:var(--space-sm) var(--space-md);min-height:64px}.nav-toggle,.mobile-nav-toggle{display:flex}.primary-nav,.primary-navigation{position:fixed;inset:0;top:64px;background:rgba(250,250,250,0.97);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);flex-direction:column;justify-content:flex-start;padding:var(--space-xl) var(--space-lg);transform:translateX(100%);opacity:0;visibility:hidden;transition:transform var(--transition-base),opacity var(--transition-base),visibility var(--transition-base)}.primary-nav.is-open,.primary-navigation.is-open{transform:translateX(0);opacity:1;visibility:visible}.nav-list{flex-direction:column;gap:var(--space-md);align-items:center;width:100%}.nav-list a,.nav-link{font-size:var(--font-lg);padding:var(--space-sm)}.nav-toggle.is-open .nav-toggle-bar:nth-child(1),.mobile-nav-toggle.is-open .hamburger-bar:nth-child(1){transform:translateY(8px) rotate(45deg)}.nav-toggle.is-open .nav-toggle-bar:nth-child(2),.mobile-nav-toggle.is-open .hamburger-bar:nth-child(2){opacity:0}.nav-toggle.is-open .nav-toggle-bar:nth-child(3),.mobile-nav-toggle.is-open .hamburger-bar:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.hero{height:auto;min-height:calc(100vh - 64px);min-height:calc(100dvh - 64px);padding-top:var(--space-xl);padding-bottom:var(--space-xl)}.hero-content{padding:var(--space-lg);margin-top:0;margin-bottom:var(--space-xl)}.page-hero{min-height:45vh;padding-block:var(--space-2xl) var(--space-lg)}.page-hero .hero-content{padding:var(--space-lg)}.services-grid{grid-template-columns:1fr;max-width:480px;margin-inline:auto}.service-lists{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr 1fr}.team-grid{grid-template-columns:1fr;max-width:400px}.product-grid{grid-template-columns:1fr;max-width:480px;margin-inline:auto}.project-gallery{grid-template-columns:repeat(2,1fr)}.contact-form-wrapper,.contact-form-wrap{padding:var(--space-lg)}.badges-grid{gap:var(--space-lg)}.floating-call,.floating-phone{bottom:var(--space-md);right:var(--space-md);padding:var(--space-xs) var(--space-sm)}.floating-call span,.floating-phone span{display:none}.footer-grid{grid-template-columns:1fr;gap:var(--space-xl);text-align:center}.footer-about p{max-width:100%}.footer-logo img{margin-inline:auto}.footer-links ul,.footer-contact ul{align-items:center}.footer-bottom-inner{flex-direction:column;text-align:center}}}@media (max-width:480px){:root{--font-4xl:2rem;--font-3xl:1.625rem;--font-2xl:1.375rem;--space-lg:1rem;--space-xl:2rem;--space-2xl:2.5rem}.container,.section-inner,.content-inner,.footer-inner,.footer-content,.footer-legal{padding-inline:var(--space-md)}.header-inner{padding:var(--space-xs) var(--space-md)}.hero{height:auto;min-height:calc(100vh - 64px);min-height:calc(100dvh - 64px);padding-top:var(--space-lg);padding-bottom:var(--space-lg)}.hero-content h1{font-size:1.875rem}.hero-content h2{font-size:var(--font-base)}.page-hero{min-height:35vh}.page-hero .hero-title,.page-hero h1{font-size:1.625rem}.gallery-grid{grid-template-columns:1fr}.project-gallery{grid-template-columns:1fr}.project-card{padding:var(--space-lg)}.content-section,.contact-section,.projects-section,.team,.contact,.trust-badges,.services,.indoor-work,.outdoor-work,.project-gallery{padding-block:var(--space-xl)}.glass-card{border-radius:var(--radius)}.contact-form-wrapper,.contact-form-wrap{padding:var(--space-md);border-radius:var(--radius)}.form-row input,.form-row textarea,.form-group input,.form-group textarea{padding:var(--space-xs) var(--space-sm)}.badge-item img{max-height:40px}}@media (hover:hover){.service-card:hover,.team-card:hover,.product-card:hover,.project-card:hover,.contact-person:hover,.glass-card:hover{transform:translateY(-6px)}.gallery-item:hover,.project-gallery .gallery-item:hover{box-shadow:var(--shadow-lg)}.nav-list a:hover,.nav-link:hover{color:var(--color-charcoal)}.btn:hover,.btn-primary:hover{letter-spacing:0.06em}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important;scroll-behavior:auto!important}.fade-in-up{opacity:1;transform:none}.glass-card:hover,.service-card:hover,.team-card:hover,.product-card:hover,.project-card:hover{transform:none}}.nav-open{overflow:hidden}.nav-menu.is-open,.navbar-collapse.is-open,.site-nav.is-open,#mySidenav.is-open{display:block}.ceyou-force-nav{display:flex!important;flex-direction:column;gap:.5rem}.js-slider{position:relative;overflow:hidden}.js-slider .slide,.js-slider .carousel-item,.js-slider .slider-item,.js-slider [data-slide]{display:none}.js-slider .slide.is-active,.js-slider .carousel-item.is-active,.js-slider .slider-item.is-active,.js-slider [data-slide].is-active{display:block;animation:ceyou-fade .4s ease}@keyframes ceyou-fade{from{opacity:.4}to{opacity:1}}.slider-prev,.slider-next{position:absolute;top:50%;transform:translateY(-50%);z-index:2;border:0;cursor:pointer;width:42px;height:42px;border-radius:50%;background:rgba(17,17,17,.45);color:#fff;font-size:1.6rem;line-height:1;display:flex;align-items:center;justify-content:center}.slider-prev{left:12px}.slider-next{right:12px}.slider-prev:hover,.slider-next:hover{background:rgba(17,17,17,.7)}.slider-dots{position:absolute;left:0;right:0;bottom:12px;display:flex;gap:8px;justify-content:center;z-index:2}.slider-dots button{width:10px;height:10px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.55);cursor:pointer}.slider-dots button.is-active{background:#fff}.modal{display:none;position:fixed;inset:0;z-index:1000;align-items:center;justify-content:center;background:rgba(0,0,0,.6);padding:1rem}.modal.is-open{display:flex}.modal-open{overflow:hidden}.ceyou-lightbox{display:none;position:fixed;inset:0;z-index:1100;background:rgba(0,0,0,.85);cursor:zoom-out}.ceyou-lightbox.is-open{display:flex;align-items:center;justify-content:center;padding:2vmin}.ceyou-lightbox img{max-width:96vw;max-height:96vh;object-fit:contain}.ceyou-toasts{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:1200;display:flex;flex-direction:column;gap:8px;pointer-events:none}.ceyou-toast{background:#111;color:#fff;padding:.7rem 1.1rem;border-radius:8px;font-size:.95rem;box-shadow:0 6px 24px rgba(0,0,0,.25);opacity:0;transform:translateY(12px);transition:opacity .3s,transform .3s}.ceyou-toast.is-visible{opacity:1;transform:translateY(0)}.ceyou-field-error{display:block;color:#c0392b;font-size:.82rem;margin-top:.25rem;min-height:1em}.ceyou-invalid{border-color:#c0392b!important;outline-color:#c0392b}.ceyou-cart-drawer{position:fixed;top:0;right:0;height:100%;width:min(360px,90vw);background:#fff;color:#111;box-shadow:-8px 0 28px rgba(0,0,0,.2);transform:translateX(100%);transition:transform .3s ease;z-index:1300;display:flex;flex-direction:column}.ceyou-cart-drawer.is-open{transform:translateX(0)}.ceyou-cart-head{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid #eee}.ceyou-cart-close{border:0;background:none;font-size:1.5rem;line-height:1;cursor:pointer}.ceyou-cart-items{flex:1;overflow:auto;padding:.5rem 1rem}.ceyou-cart-row{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;border-bottom:1px solid #f1f1f1}.ceyou-cart-name{flex:1}.ceyou-cart-remove{border:0;background:none;cursor:pointer;color:#999;font-size:1.1rem}.ceyou-cart-empty{color:#888}.ceyou-cart-foot{padding:1rem;border-top:1px solid #eee;font-weight:600}@media(prefers-reduced-motion:reduce){.js-slider .is-active{animation:none}.ceyou-toast{transition:none}.ceyou-cart-drawer{transition:none}}@media(prefers-reduced-motion:no-preference){html.ceyou-reveal-ready .fade-in-up,html.ceyou-reveal-ready .fade-in,html.ceyou-reveal-ready .scroll-reveal,html.ceyou-reveal-ready [data-reveal]{opacity:0;transform:translateY(24px);animation:none;transition:opacity .7s ease,transform .7s ease;will-change:opacity,transform}html.ceyou-reveal-ready .fade-in-up.is-visible,html.ceyou-reveal-ready .fade-in.is-visible,html.ceyou-reveal-ready .scroll-reveal.is-visible,html.ceyou-reveal-ready [data-reveal].is-visible{opacity:1;transform:none}}

/* ceyou-mobile-layout-guard */
/* Global overflow safety (all viewports): never force a horizontal scrollbar, and
   let flex/grid children shrink to fit instead of pushing siblings off-screen
   (e.g. a wide image gallery nested in a flex row). */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

img,
picture,
video,
svg,
canvas {
  max-width: 100%;
  height: auto;
}

*,
*::before,
*::after {
  min-width: 0;
}

@media (max-width: 640px) {
  html,
  body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  body {
    -webkit-text-size-adjust: 100%;
  }

  img,
  picture,
  video,
  canvas,
  svg {
    max-width: 100%;
    height: auto;
  }

  .main-header,
  header.main-header,
  .site-header {
    position: static;
    width: 100%;
    padding: 0.75rem 1rem;
  }

  .main-content,
  main {
    padding-top: 0;
  }

  .main-header .header-content,
  header.main-header .header-content,
  .site-header .header-content {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    gap: 0.75rem;
    width: 100%;
    max-width: 100%;
  }

  .main-header .logo-link,
  .site-header .logo-link,
  .main-header .brand,
  .site-header .brand,
  .main-header .site-logo,
  .site-header .site-logo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: center;
    max-width: 100%;
    min-height: 36px;
    padding: 0.25rem 0.5rem;
    height: auto;
    text-align: center;
    line-height: 1.2;
    overflow-wrap: anywhere;
  }

  /* Header navigation, mobile.
     The HTML phase names the nav inconsistently (main-nav, header-nav,
     main-navigation, nav, navbar, ...), so we match STRUCTURALLY on any
     <nav> inside a <header> — plus the common standalone nav classes for
     non-semantic markup — instead of an enumerated class list that misses
     most sites. Because a bare `header nav ul` selector (3 type selectors)
     loses the cascade to any LLM class rule like `.nav-links{display:flex}`,
     the two layout-critical properties are marked !important so this
     deterministic guard reliably wins — matching how the sibling static-nav
     and logo-header guards assert control. (Do NOT write their exact marker
     tokens here: an appended guard's text is scanned by sibling idempotency
     checks, and a bare mention would make them think they already ran.) */
  .main-nav,
  nav.main-nav,
  header nav,
  .site-header nav,
  .main-header nav,
  .navbar,
  .site-nav {
    width: 100%;
    max-width: 100%;
    overflow: visible;
  }

  .main-nav .nav-list,
  header nav ul,
  header nav ol,
  .main-header nav ul,
  .site-header nav ul,
  .navbar-nav,
  .nav-menu,
  .nav-list,
  .nav-links {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.5rem;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .main-nav .nav-item,
  header nav li,
  .main-header nav li,
  .site-header nav li {
    min-width: 0;
    list-style: none;
  }

  .main-nav .nav-link,
  header nav a:not(.logo-link):not(.brand):not(.navbar-brand):not(.site-logo):not(.logo),
  .main-header nav a,
  .site-header nav a,
  .navbar-nav a {
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0.55rem 0.7rem;
    border: 1px solid rgba(17, 24, 39, 0.16);
    border-radius: 999px;
    text-align: center;
    line-height: 1.18;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: normal;
  }

  .main-nav .nav-link::after,
  header nav a::after,
  .main-header nav a::after,
  .site-header nav a::after {
    display: none !important;
  }

  .hero-section,
  .catering-hero-section,
  .menu-hero-section {
    min-height: auto;
    padding: clamp(2rem, 8vw, 4rem) 1rem;
  }

  .hero-text-content,
  .catering-hero-content,
  .menu-hero-content {
    width: 100%;
    max-width: 100%;
    padding: clamp(1rem, 5vw, 1.5rem);
  }

  .hero-text-content h1,
  .catering-hero-content h1,
  .menu-hero-content h1 {
    font-size: clamp(2rem, 10vw, 3.25rem);
    line-height: 1.05;
  }

  .hero-text-content p,
  .catering-hero-content p,
  .menu-hero-content p {
    font-size: 1rem;
    line-height: 1.45;
  }

  .menu-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.35rem;
  }

  .menu-item p {
    margin: 0;
  }

  .catering-form,
  form[class*="form"] {
    grid-template-columns: 1fr !important;
  }
}

/* ceyou-logo-header-guard */
header img, .site-header img, .main-header img, nav img,
.logo img, .site-logo img, .logo-link img, .brand img, .navbar-brand img,
[class*="logo" i] img, a[class*="logo" i] img,
img[alt*="logo" i], img[src*="logo" i] {
  max-height: 64px !important;
  width: auto !important;
  object-fit: contain;
}
header .header-content, .site-header .header-content, .main-header .header-content,
header > nav, .site-header > nav, .main-header > nav {
  align-items: center;
}
img { height: auto; }
@media (min-width: 641px) {
  header nav > ul, .main-header nav > ul, .site-header nav > ul,
  header nav > ol, .main-nav > ul, .site-nav > ul, .navbar > ul,
  .nav-list, .nav-links, .nav-menu, .navbar-nav {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem 1.5rem;
    list-style: none;
    margin: 0;
    padding: 0;
  }
}

/* ceyou-header-overlap-guard */
@media (min-width: 641px) {
  body > header, header.site-header, .site-header, .main-header, .navbar {
    position: sticky !important;
    top: 0 !important;
  }
}

/* ceyou-shell-footer-guard */
.site-footer .footer-inner, .main-footer .footer-inner, footer .footer-inner,
.site-footer > .powered-by-cyoumedia {
  max-width: var(--ceyou-container-max, var(--container-max, var(--container-width, 1200px)));
  margin-inline: auto;
  padding-inline: clamp(1rem, 5vw, 2rem);
  box-sizing: border-box;
}
.ceyou-shell-footer a {
  text-decoration: none; color: #ffffff;
}
.ceyou-shell-footer a:hover { text-decoration: underline; }
.powered-by-cyoumedia {
  display: flex; align-items: center; flex-wrap: wrap; gap: 0.4rem 1rem;
  width: 100%; margin-top: 1rem; padding-top: 0.75rem;
  border-top: 1px solid rgba(128,128,128,.2);
}
.powered-by-cyoumedia > a {
  display: inline-flex; align-items: center; gap: 8px;
  text-decoration: none; color: #ffffff; opacity: .75; font-size: 12px; line-height: 1;
}
.powered-by-cyoumedia img {
  height: 16px; width: auto; display: block;
  background: #fff; padding: 3px 5px; border-radius: 4px;
}
.powered-by-cyoumedia [data-last-updated] {
  margin: 0; font-size: 12px; line-height: 1; color: #ffffff; opacity: .75;
}
.ceyou-shell-footer .ceyou-footer-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
  gap: clamp(1.5rem, 3vw, 2.5rem); align-items: start;
}

/* ceyou-shell-header-guard */
.ceyou-shell-header .header-inner { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; }
.ceyou-shell-header .header-brand { flex:0 0 auto; }
.ceyou-shell-header .ceyou-desktop-nav ul { display:flex; align-items:center; flex-wrap:wrap; gap:clamp(.6rem,1.4vw,1.6rem); list-style:none; margin:0; padding:0; }
.ceyou-shell-header .ceyou-nav-link { text-decoration:none; color:#000000; font-size:.95rem; white-space:nowrap; opacity:1; transition:opacity .15s; }
.ceyou-shell-header .ceyou-nav-link:hover, .ceyou-shell-header .ceyou-nav-link.active { opacity:1; }
.ceyou-shell-header .ceyou-nav-link.cta { padding:.5rem 1.1rem; border:1px solid currentColor; border-radius:6px; opacity:1; }
.ceyou-shell-header .ceyou-desktop-nav .ceyou-has-children { position:relative; }
.ceyou-shell-header .ceyou-desktop-nav .ceyou-has-children > .ceyou-nav-link::after { content:'▾'; margin-left:.3em; font-size:.75em; opacity:.7; }
.ceyou-shell-header .ceyou-desktop-nav .ceyou-dropdown { position:absolute; top:100%; left:0; min-width:220px; margin:0; padding:.4rem; list-style:none; display:none; flex-direction:column; gap:.1rem; background:var(--surface, var(--card-bg, var(--bg-secondary, var(--navy-900, #0f1a2e)))); border:1px solid rgba(128,128,128,.22); border-radius:8px; box-shadow:0 14px 34px rgba(0,0,0,.4); z-index:60; }
.ceyou-shell-header .ceyou-desktop-nav .ceyou-has-children:hover > .ceyou-dropdown, .ceyou-shell-header .ceyou-desktop-nav .ceyou-has-children:focus-within > .ceyou-dropdown { display:flex; }
.ceyou-shell-header .ceyou-desktop-nav .ceyou-dropdown .ceyou-nav-link { display:block; padding:.4rem .6rem; border-radius:4px; }
.ceyou-shell-header .ceyou-desktop-nav .ceyou-dropdown .ceyou-nav-link:hover { background:rgba(128,128,128,.14); }
.ceyou-shell-header .ceyou-mobile-nav .ceyou-sublink { padding-left:1rem; opacity:.82; }
.ceyou-shell-header .ceyou-nav-check { position:absolute; width:1px; height:1px; opacity:0; overflow:hidden; pointer-events:none; }
.ceyou-shell-header .ceyou-nav-toggle { display:none; background:none; border:0; padding:0; cursor:pointer; width:44px; height:44px; align-items:center; justify-content:center; color:inherit; }
.ceyou-shell-header .ceyou-burger, .ceyou-shell-header .ceyou-burger::before, .ceyou-shell-header .ceyou-burger::after { content:''; display:block; width:24px; height:2px; background:currentColor; }
.ceyou-shell-header .ceyou-burger { position:relative; }
.ceyou-shell-header .ceyou-burger::before { position:absolute; top:-7px; }
.ceyou-shell-header .ceyou-burger::after { position:absolute; top:7px; }
.ceyou-shell-header { position:relative; }
.ceyou-shell-header .ceyou-mobile-nav {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: var(--surface, var(--card-bg, #ffffff));
  border-top: 1px solid rgba(0,0,0,0.08);
  border-bottom: 1px solid rgba(0,0,0,0.1);
  box-shadow: 0 12px 28px rgba(0,0,0,0.12);
  z-index: 999;
}
.ceyou-shell-header .ceyou-mobile-nav ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 1rem clamp(1rem,5vw,2rem) 1.25rem !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.5rem !important;
}
.ceyou-shell-header .ceyou-mobile-nav .ceyou-nav-link {
  display: block !important;
  width: 100% !important;
  padding: 0.75rem 1rem !important;
  border: 1px solid rgba(0,0,0,0.08) !important;
  border-radius: 8px !important;
  text-align: left !important;
  justify-content: flex-start !important;
  color: #111827 !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  background: #ffffff !important;
  text-decoration: none !important;
}
.ceyou-shell-header .ceyou-mobile-nav .ceyou-nav-link:hover,
.ceyou-shell-header .ceyou-mobile-nav .ceyou-nav-link.active {
  background: #f3f4f6 !important;
  color: #5e7a46 !important;
}
.ceyou-shell-header .ceyou-desktop-nav { margin-left:auto; }
.ceyou-shell-header .ceyou-aeo { position:relative; flex:0 0 auto; }
.ceyou-shell-header .ceyou-aeo-btn { display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border:1px solid currentColor; border-radius:50%; cursor:pointer; opacity:.72; font:italic 700 .95rem/1 Georgia,'Times New Roman',serif; list-style:none; transition:opacity .15s; }
.ceyou-shell-header .ceyou-aeo-btn::-webkit-details-marker { display:none; }
.ceyou-shell-header .ceyou-aeo-btn:hover, .ceyou-shell-header .ceyou-aeo[open] .ceyou-aeo-btn { opacity:1; }
.ceyou-shell-header .ceyou-aeo-panel { position:absolute; top:calc(100% + .55rem); right:0; width:min(340px,82vw); padding:.9rem 1.1rem .95rem; background:#ffffff; color:#000000; border:1px solid rgba(128,128,128,.22); border-radius:10px; box-shadow:0 16px 38px rgba(0,0,0,.15); z-index:70; }
.ceyou-shell-header .ceyou-aeo-panel ul { margin:0; padding-left:1.15rem; display:flex; flex-direction:column; gap:.45rem; list-style:disc; }
.ceyou-shell-header .ceyou-aeo-panel li { font-size:.9rem; line-height:1.45; opacity:.92; }
@media (max-width:860px) {
  .ceyou-shell-header .ceyou-desktop-nav { display:none !important; }
  .ceyou-shell-header .ceyou-nav-toggle { display:inline-flex !important; }
  .ceyou-shell-header .ceyou-nav-check:checked ~ .ceyou-mobile-nav,
  .ceyou-shell-header .ceyou-mobile-nav.is-open { display:block !important; }
  .ceyou-shell-header .ceyou-aeo { margin-left:auto; }
}

/* ceyou-fullbleed-hero-guard */
.ceyou-fullbleed-hero {
  position: relative;
  isolation: isolate;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: clamp(360px, 60vh, 640px);
  max-width: 100%;
  overflow: hidden;
  padding: clamp(2rem, 6vw, 5rem) clamp(1.25rem, 5vw, 4rem);
}
.ceyou-fullbleed-hero > picture,
.ceyou-fullbleed-hero > .hero-image-container,
.ceyou-fullbleed-hero > img.hero-image {
  position: absolute;
  inset: 0;
  z-index: 0;
  margin: 0;
  max-width: 100%;
}
.ceyou-fullbleed-hero picture img,
.ceyou-fullbleed-hero > img.hero-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  margin: 0;
  object-fit: cover;
}
.ceyou-fullbleed-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(0,0,0,0.28) 0%, rgba(0,0,0,0.34) 45%, rgba(0,0,0,0.62) 100%);
  pointer-events: none;
}
.ceyou-fullbleed-hero > .hero-content,
.ceyou-fullbleed-hero > .hero-inner,
.ceyou-fullbleed-hero > .container,
.ceyou-fullbleed-hero > :is(h1, h2, h3, p, a) {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: min(720px, 94%);
  margin-inline: auto;
  text-align: center;
}
.ceyou-fullbleed-hero .hero-content,
.ceyou-fullbleed-hero .hero-content :is(h1, h2, h3, h4, p),
.ceyou-fullbleed-hero > :is(h1, h2, h3, h4, p) {
  color: #ffffff !important;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.45);
}

/* ceyou-container-guard */
:root { --ceyou-container-max: var(--container-max, var(--container-width, var(--max-width, var(--content-width, var(--wrapper-width, 1200px))))); }
.ceyou-contain { padding-inline: clamp(1rem, 5vw, 2rem); }
.ceyou-contain > *:not(picture):not(img):not(video):not(svg):not(iframe) {
  max-width: var(--ceyou-container-max);
  margin-inline: auto;
}

/* ceyou-design-polish-guard */
:root { --ceyou-accent: var(--accent, var(--color-accent, var(--color-gold, var(--color-primary, var(--primary, var(--brand, #b8894b)))))); }
main > section:not(.hero-section):not([class*="hero" i]) {
  position: relative;
}
main > section:not(.hero-section):not([class*="hero" i])::before {
  content: none !important;
  display: none !important;
}
.ceyou-card-grid > * {
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
@media (hover: hover) {
  .ceyou-card-grid > *:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 34px rgba(0, 0, 0, 0.09);
  }
}

/* ceyou-typography-rhythm-guard */
:root {
  --text-4xl: clamp(1.75rem, 1.3rem + 1.9vw, 2.5rem);
  --text-5xl: clamp(2rem, 1.5rem + 2.4vw, 3.25rem);
  --text-6xl: clamp(2.25rem, 1.6rem + 3vw, 3.75rem);
}
section:not(.hero-section):not(.section):not([class*="hero"]),
[class*="-section"]:not(.hero-section):not(.section):not([class*="hero"]) {
  padding-block: clamp(1.75rem, 3.5vw, 3.25rem);
}

/* ceyou-contrast-legibility-guard */
.header-inner,
.header-inner :is(h1,h2,h3,h4,h5,h6,p,li,span,strong,em,blockquote,td,th,dt,dd,label,figcaption),
.header-inner a:not(.button):not([class*="btn" i]) {
  color: #000000 !important;
  text-shadow: none !important;
}

.indoor-work{background:var(--color-white);padding-block:var(--space-2xl)}.outdoor-work{background:#f7f7f7;padding-block:var(--space-2xl)}.category-badge{display:inline-flex;align-items:center;gap:var(--space-xs);font-family:var(--font-sans);font-size:var(--font-xs);font-weight:600;letter-spacing:var(--letter-wide);padding:6px 12px;border-radius:100px;margin-bottom:var(--space-md)}.badge-indoor{background:#f5ece4;color:#7d5e46}.badge-outdoor{background:#e6edd9;color:#556b2f}.badge-icon{width:14px;height:14px;stroke-width:2px}.section-title-premium{font-size:clamp(2rem,4vw,var(--font-3xl));font-weight:500;color:var(--color-dark);margin-bottom:var(--space-md);font-family:var(--font-serif)}.section-desc-premium{font-size:var(--font-base);color:var(--color-text-secondary);line-height:var(--line-relaxed);font-family:var(--font-sans)}.premium-divider{border:0;height:1px;background:var(--color-border);margin-block:var(--space-lg)}.indoor-grid{display:grid;grid-template-columns:1.1fr 1.3fr;gap:var(--space-2xl);align-items:center}.indoor-image-col{position:relative}.indoor-img{width:100%;height:auto;aspect-ratio:4/4.2;object-fit:cover;border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.indoor-features{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md) var(--space-lg);margin-top:var(--space-md)}.feature-item{display:flex;align-items:center;gap:var(--space-xs);font-family:var(--font-sans);font-size:var(--font-sm);color:var(--color-charcoal);font-weight:500}.feature-icon{width:18px;height:18px;stroke:var(--color-gray);stroke-width:2px;flex-shrink:0}.outdoor-top-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:var(--space-2xl);align-items:flex-start;margin-bottom:var(--space-xl)}.outdoor-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md)}.outdoor-card-item{background:var(--color-white);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform var(--transition-base),box-shadow var(--transition-base)}.outdoor-card-item:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.outdoor-card-item img{width:100%;aspect-ratio:4/3;object-fit:cover;border-bottom:1px solid var(--color-border)}.outdoor-card-item h4{font-family:var(--font-sans);font-size:0.72rem;font-weight:600;text-transform:uppercase;letter-spacing:0.02em;color:var(--color-dark);padding:var(--space-xs) 4px;text-align:center;line-height:1.3}.outdoor-services-badge-card{background:var(--color-white);border-radius:var(--radius-lg);padding:var(--space-lg) var(--space-xl);box-shadow:var(--shadow-sm);border:1px solid var(--color-border)}.services-badge-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--space-md)}.service-badge-item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-xs);padding:var(--space-xs)}.service-badge-icon{width:24px;height:24px;stroke:var(--color-dark);stroke-width:1.5px}.service-badge-item span{font-family:var(--font-sans);font-size:var(--font-xs);font-weight:500;color:var(--color-charcoal);line-height:1.2}@media(max-width:1024px){.services-badge-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:992px){.indoor-grid,.outdoor-top-grid{grid-template-columns:1fr;gap:var(--space-xl)}.outdoor-cards-grid{grid-template-columns:repeat(2,1fr)}.services-badge-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:480px){.outdoor-cards-grid{grid-template-columns:1fr}.indoor-features{grid-template-columns:1fr}.services-badge-grid{grid-template-columns:repeat(2,1fr)}}
:root{--container-max:1440px}.ceyou-shell-header .ceyou-desktop-nav{margin-inline:auto!important}.ceyou-shell-header .ceyou-nav-link{position:relative;font-family:var(--font-sans);font-weight:500;text-transform:capitalize}.ceyou-shell-header .ceyou-nav-link.active::after{content:'';position:absolute;bottom:-4px;left:0;right:0;height:2px;background:#5e7a46;border-radius:2px}.hero-container-wrap{padding-inline:0;margin-top:0}.hero{border-bottom-left-radius:3rem;border-bottom-right-radius:3rem;border-top-left-radius:0;border-top-right-radius:0;overflow:hidden;height:50vh;min-height:500px;max-height:600px;padding-top:var(--space-2xl);padding-bottom:120px;display:flex;align-items:center;justify-content:flex-start;text-align:left;background-image:image-set(url(../media/d81747818154.avif) type('image/avif'), url(../media/71584468c566.webp) type('image/webp'));background-position:center;background-size:cover;position:relative}.hero-content-premium{max-width:860px;padding-inline:var(--space-lg);color:var(--color-white);z-index:2}.hero-title-premium{font-size:clamp(2.2rem,5vw,var(--font-4xl));font-weight:600;margin-bottom:var(--space-sm);color:var(--color-white)!important;text-shadow:0 2px 10px rgba(0,0,0,0.35);font-family:var(--font-serif)}.hero-subtext-premium{display:block;font-family:var(--font-sans);font-size:clamp(0.8rem,1.8vw,var(--font-sm));font-weight:600;letter-spacing:var(--letter-wide);color:#a3c483!important;margin-bottom:var(--space-xs);text-shadow:0 1px 4px rgba(0,0,0,0.3)}.hero-desc-premium{font-family:var(--font-sans);font-size:var(--font-base);line-height:var(--line-relaxed);color:rgba(255,255,255,0.9)!important;margin-bottom:var(--space-lg);text-shadow:0 1px 6px rgba(0,0,0,0.3)}.hero-cta-group{display:flex;gap:var(--space-md);flex-wrap:wrap}.btn-hero-phone,.btn-hero-contact{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);font-family:var(--font-sans);font-size:var(--font-sm);font-weight:600;padding:14px 28px;border-radius:var(--radius);transition:transform var(--transition-base),box-shadow var(--transition-base),background var(--transition-base);cursor:pointer}.btn-hero-phone{background:#5e7a46;color:var(--color-white)!important}.btn-hero-phone:hover{background:#4e663a;transform:translateY(-2px);box-shadow:0 6px 20px rgba(94,122,70,0.35)}.btn-hero-contact{background:var(--color-white);color:var(--color-dark)!important;box-shadow:var(--shadow-sm)}.btn-hero-contact:hover{background:#f4f4f4;transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,0.15)}.btn-icon{width:18px;height:18px;stroke-width:2.2px}.services-overlap-section{padding-top:0;padding-bottom:var(--space-xl);margin-top:-120px;position:relative;z-index:10}.services-overlap-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-lg);max-width:1200px;margin-inline:auto}.overlap-card-item{background:var(--color-white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);display:flex;flex-direction:column;transition:transform var(--transition-base),box-shadow var(--transition-base)}.overlap-card-item:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg)}.overlap-card-image-wrap{position:relative;aspect-ratio:4/3;overflow:hidden}.overlap-card-image-wrap img{width:100%;height:100%;object-fit:cover}.overlap-badge{position:absolute;bottom:-20px;left:20px;width:44px;height:44px;background:var(--color-white);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);border:1.5px solid var(--color-border);z-index:3}.badge-icon-green{width:20px;height:20px;stroke:#5e7a46;stroke-width:2px}.overlap-card-body{padding:32px var(--space-md) var(--space-md);display:flex;flex-direction:column;flex-grow:1}.overlap-card-body h3{font-family:var(--font-sans);font-size:var(--font-base);font-weight:600;color:var(--color-dark);margin-bottom:var(--space-xs)}.overlap-card-body p{font-family:var(--font-sans);font-size:var(--font-sm);color:var(--color-gray);line-height:var(--line-normal);margin-bottom:var(--space-md);flex-grow:1}.overlap-card-link{font-family:var(--font-sans);font-size:var(--font-sm);font-weight:600;color:#5e7a46!important;display:inline-flex;align-items:center;gap:4px;transition:color var(--transition-fast)}.overlap-card-link:hover{color:#4e663a!important}.trust-banner-section{padding-block:var(--space-md) var(--space-xl)}.trust-banner-card{background:var(--color-white);border-radius:var(--radius-lg);border:1px solid var(--color-border);padding:var(--space-md) var(--space-lg);box-shadow:var(--shadow-sm)}.trust-banner-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-lg)}.trust-banner-item{display:flex;align-items:center;gap:var(--space-md)}.trust-banner-item:not(:last-child){border-right:1px solid var(--color-border);padding-right:var(--space-md)}.trust-icon{width:28px;height:28px;stroke:#5e7a46;stroke-width:1.8px;flex-shrink:0}.trust-text h5{font-family:var(--font-sans);font-size:var(--font-sm);font-weight:600;color:var(--color-dark);margin-bottom:2px}.trust-text p{font-family:var(--font-sans);font-size:var(--font-xs);color:var(--color-gray);margin-bottom:0}@media(max-width:1024px){.services-overlap-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-md)}.trust-banner-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-md)}.trust-banner-item:not(:last-child){border-right:none;padding-right:0}}@media(max-width:768px){.services-overlap-section{margin-top:0}.hero{border-bottom-left-radius:2rem;border-bottom-right-radius:2rem;border-top-left-radius:0;border-top-right-radius:0;min-height:460px}.hero-content-premium{padding-inline:var(--space-lg)}}@media(max-width:640px){.services-overlap-grid{grid-template-columns:1fr}.trust-banner-grid{grid-template-columns:1fr;gap:var(--space-md)}}
.team-premium{background:var(--color-bg);padding-block:var(--space-2xl)}.team-header-block{text-align:center;margin-bottom:var(--space-xl)}.team-badge{display:inline-flex;align-items:center;gap:var(--space-xs);font-family:var(--font-sans);font-size:var(--font-xs);font-weight:600;letter-spacing:var(--letter-wide);text-transform:uppercase;padding:6px 16px;border-radius:100px;background:#e6edd9;color:#556b2f;margin-bottom:var(--space-md)}.team-heading{font-size:clamp(2rem,4vw,var(--font-3xl));font-weight:500;color:var(--color-dark);margin-bottom:var(--space-sm);font-family:var(--font-serif)}.team-subtitle{font-family:var(--font-sans);font-size:var(--font-base);color:var(--color-text-secondary);max-width:560px;margin-inline:auto}.team-cards-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-xl);max-width:800px;margin-inline:auto}.team-premium-card{background:var(--color-white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);text-align:center;transition:transform var(--transition-base),box-shadow var(--transition-base)}.team-premium-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}.team-premium-figure{position:relative;aspect-ratio:1/1;overflow:hidden;margin:0}.team-premium-figure img{width:100%;height:100%;object-fit:cover}.team-person-badge{position:absolute;bottom:-20px;left:50%;transform:translateX(-50%);width:44px;height:44px;background:var(--color-white);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);border:1.5px solid var(--color-border);z-index:3;color:var(--color-gray)}.team-premium-body{padding:32px var(--space-md) var(--space-lg)}.team-premium-name{font-family:var(--font-serif);font-size:var(--font-lg);font-weight:600;color:var(--color-dark);margin-bottom:4px}.team-premium-role{font-family:var(--font-sans);font-size:var(--font-sm);color:var(--color-gray);margin-bottom:var(--space-md)}.team-contact-row{display:flex;align-items:center;justify-content:center;gap:var(--space-xs);font-family:var(--font-sans);font-size:var(--font-sm);color:var(--color-gray);margin-bottom:6px}.team-contact-row svg{flex-shrink:0;stroke:var(--color-gray)}.team-contact-row a{color:var(--color-dark);border-bottom:1px solid transparent;transition:border-color var(--transition-fast)}.team-contact-row a:hover{border-color:var(--color-dark)}.contact-premium{background:var(--color-white);padding-block:var(--space-2xl)}.contact-premium-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:var(--space-2xl);align-items:flex-start}.contact-badge{display:inline-flex;align-items:center;gap:var(--space-xs);font-family:var(--font-sans);font-size:var(--font-xs);font-weight:600;letter-spacing:var(--letter-wide);text-transform:uppercase;padding:6px 16px;border-radius:100px;background:#e6edd9;color:#556b2f;margin-bottom:var(--space-md)}.contact-premium-heading{font-size:clamp(1.75rem,3.5vw,var(--font-3xl));font-weight:500;color:var(--color-dark);margin-bottom:var(--space-sm);font-family:var(--font-serif)}.contact-premium-desc{font-family:var(--font-sans);font-size:var(--font-sm);color:var(--color-text-secondary);line-height:var(--line-relaxed);margin-bottom:var(--space-xl)}.contact-info-blocks{display:flex;flex-direction:column;gap:var(--space-lg)}.contact-info-block{display:flex;align-items:flex-start;gap:var(--space-md)}.contact-info-icon{width:40px;height:40px;border-radius:50%;background:var(--color-bg);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-gray)}.contact-info-icon svg{stroke:var(--color-gray)}.contact-info-label{font-family:var(--font-sans);font-size:var(--font-sm);font-weight:600;color:var(--color-dark);margin-bottom:4px}.contact-info-block p{font-family:var(--font-sans);font-size:var(--font-sm);color:var(--color-gray);line-height:1.5;margin-bottom:0}.contact-premium-form-wrap{background:var(--color-bg);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow-sm);border:1px solid var(--color-border)}.contact-premium-form fieldset{display:flex;flex-direction:column;gap:var(--space-md)}.form-group-icon{display:flex;flex-direction:column;gap:6px}.form-group-icon label{font-family:var(--font-sans);font-size:0.7rem;font-weight:600;letter-spacing:0.06em;color:var(--color-gray)}.input-icon-wrap{display:flex;align-items:center;gap:var(--space-xs);background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius);padding:12px var(--space-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input-icon-wrap:focus-within{border-color:var(--color-dark);box-shadow:0 0 0 3px rgba(30,28,28,0.06)}.input-icon-wrap svg{flex-shrink:0;stroke:var(--color-gray)}.input-icon-wrap input,.input-icon-wrap textarea{width:100%;border:none;background:none;font-family:var(--font-sans);font-size:var(--font-sm);color:var(--color-text);outline:none}.input-icon-wrap input::placeholder,.input-icon-wrap textarea::placeholder{color:rgba(0,0,0,0.28)}.input-icon-wrap.textarea-wrap{align-items:flex-start;padding-top:14px}.input-icon-wrap textarea{resize:vertical;min-height:100px}.btn-contact-submit{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);width:100%;font-family:var(--font-sans);font-size:var(--font-sm);font-weight:600;letter-spacing:var(--letter-wide);padding:16px var(--space-lg);border-radius:var(--radius);background:#5e7a46;color:var(--color-white);border:none;cursor:pointer;transition:background var(--transition-base),transform var(--transition-base),box-shadow var(--transition-base)}.btn-contact-submit:hover{background:#4e663a;transform:translateY(-2px);box-shadow:0 6px 20px rgba(94,122,70,0.35)}.btn-contact-submit svg{stroke:var(--color-white)}@media(max-width:768px){.team-cards-grid{grid-template-columns:1fr;max-width:400px}.contact-premium-grid{grid-template-columns:1fr;gap:var(--space-xl)}}
.logo-ticker-section{background:var(--color-dark);padding-block:var(--space-xl);overflow:hidden}.ticker-label{font-family:var(--font-sans);font-size:var(--font-xs);font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--color-gray);text-align:center;margin-bottom:var(--space-lg)}.logo-ticker-wrap{overflow:hidden;width:100%;-webkit-mask-image:linear-gradient(to right,transparent 0%,black 10%,black 90%,transparent 100%);mask-image:linear-gradient(to right,transparent 0%,black 10%,black 90%,transparent 100%)}.logo-ticker-track{display:flex;align-items:center;gap:var(--space-2xl);width:max-content;animation:tickerScroll 20s linear infinite}.logo-ticker-item{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding-inline:var(--space-md)}.logo-ticker-item img{max-height:56px;width:auto;object-fit:contain;filter:none;opacity:1;transition:opacity var(--transition-base)}.logo-ticker-item:hover img{opacity:0.7}@keyframes tickerScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}@media(prefers-reduced-motion:reduce){.logo-ticker-track{animation:none}}
main > section::before,main > section::after,section::before,section::after{content:none!important;display:none!important}.premium-divider{display:none!important}

/* Keep service icons fully visible above the image edge. */
.overlap-badge{bottom:12px}
