:root{--color-black:#3C3C3B;--color-white:#FCFEFF;--color-blue:#489FB5;--color-red:#DB5461;--color-purple:#A4508B;--color-light-gray:#f9f9f9;--color-gray:#e0e0e0;--color-primary:var(--color-blue);--color-secondary:var(--color-black);--font-primary:'Bebas Neue',sans-serif;--font-secondary:'Bubbleboddy',sans-serif;--border-radius:0.5rem;--scrollbar-thumb:#888;--scrollbar-track:#f1f1f1;--logo-bg:var(--color-white);--container-padding:20px;--container-max-width:1200px;--header-bg:#489FB5}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--scroll-padding-top)}
body{font-family:var(--font-secondary),serif;line-height:1.6;color:var(--color-black);background-color:var(--color-white)}body,html{margin:0;padding:0;height:100%}
main{padding:20px;max-width:var(--container-max-width);margin:0 auto}
h1,h2,h3,h4,h5,h6{line-height:1.2;margin-bottom:20px;font-family:var(--font-primary),serif;color:var(--color-black);font-weight:normal}
h1{font-size:2em}
h2{font-size:1.75em}
h3{font-size:1.5em}
h4{font-size:1.25em}
h5{font-size:1em}
h6{font-size:0.875em}p{font-size:1.2em;line-height:1.4;margin-bottom:30px;font-family:var(--font-secondary),serif;color:var(--color-black)}
ul{list-style:none;padding:0}
a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto;border-radius:var(--border-radius)}.btn{padding:15px 30px;font-size:1.2em;text-decoration:none;border-radius:var(--border-radius);transition:background-color 0.3s ease,color 0.3s ease;font-family:var(--font-secondary),serif;border:none}
.btn-primary{background-color:var(--color-blue);color:var(--color-white);box-shadow:0 2px 4px var(--color-black);border:2px solid var(--color-blue)}
.btn-secondary{background-color:var(--color-white);color:var(--color-blue);border:2px solid var(--color-blue);box-shadow:0 2px 4px var(--color-blue)}
.btn-primary:hover{background-color:var(--color-white);color:var(--color-blue);border:2px solid var(--color-blue)}
.btn-secondary:hover{background-color:var(--color-blue);color:var(--color-white)}
.btn-invert{width:100%!important;box-shadow:0 4px 6px rgba(0,0,0,0.1);transition:background-color 0.3s ease,color 0.3s ease,transform 0.2s ease}header{width:100%;background-color:var(--header-bg);box-shadow:0 4px 6px rgba(0,0,0,0.1);position:sticky;top:0;z-index:1000}.logo-container{display:flex;justify-content:space-between;align-items:center;background-color:var(--color-white);padding:15px 20px;width:100%}
.logo img{max-height:75px;box-shadow:none}
.menu-btn{width:30px;height:30px;cursor:pointer;display:flex;flex-direction:column;justify-content:space-around;background-color:transparent;border:none;position:relative;transform:rotate(0deg);transition:.5s ease-in-out;z-index:100}
.menu-btn span{display:block;position:absolute;height:3px;width:100%;background:var(--color-blue);border-radius:9px;opacity:1;left:0;transform:rotate(0deg);transition:.25s ease-in-out}
.menu-btn span:nth-child(1){top:0}
.menu-btn span:nth-child(2),
.menu-btn span:nth-child(3){top:12px}
.menu-btn span:nth-child(4){top:24px}
.menu-btn.open span:nth-child(1),
.menu-btn.open span:nth-child(4){top:12px;width:0;left:50%}
.menu-btn.open span:nth-child(2){transform:rotate(45deg)}
.menu-btn.open span:nth-child(3){transform:rotate(-45deg)}.nav-content{display:none;flex-direction:column;align-items:flex-start;padding:20px;position:absolute;top:100%;left:0;width:100%;background-color:var(--header-bg);z-index:50;box-shadow:0 4px 15px rgba(0,0,0,0.5)}
.nav-content.show{display:flex}
.nav-items{list-style:none;width:100%;padding:0}
.nav-items li{width:100%;text-align:left;font-size:1.25rem;padding:5px 0}
.nav-items li a{text-decoration:none;color:var(--color-white)}
.hero,.about,.services,.freshscan,.cta{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:40px 0;background-color:var(--color-white);color:var(--color-black);max-width:var(--container-max-width);margin:0 auto}
.hero-content,.about-content{max-width:100%;margin-bottom:40px}.btn{transition:transform 0.2s ease-in-out,box-shadow 0.2s ease-in-out;width:fit-content;text-align:center;white-space:nowrap}
.btn:active{transform:scale(0.95);box-shadow:0 2px 5px rgba(0,0,0,0.2)}@keyframes shake{0%{transform:translateX(0)}25%{transform:translateX(-5px)}50%{transform:translateX(5px)}75%{transform:translateX(-5px)}100%{transform:translateX(0)}}
.contact-button{border:2px solid transparent;animation:shake 1s ease-in-out infinite}
.contact-button:hover,.contact-button:active{animation:none}
.hero-buttons{display:flex;gap:10px;justify-content:flex-start}
.btn{font-size:1.2em;padding:15px 30px}
.hero-buttons{gap:20px}.portfolio-container{width:100%;display:flex;gap:1rem}.scroller{width:50%;overflow:hidden}
.scroller--content{display:flex;width:100%;gap:var(--item-gap)}
.scroller--content li img{width:100%;height:auto;transition:transform 0.3s ease;border:1px solid var(--color-blue)}
.scroller[data-direction="x"][data-scroll-direction="left-to-right"] .scroller--content{flex-direction:row;animation:xScrollerLTR var(--animation-speed) linear infinite}
.scroller[data-direction="x"][data-scroll-direction="right-to-left"] .scroller--content{flex-direction:row-reverse;animation:xScrollerRTL var(--animation-speed) linear infinite}
.scroller[data-direction="y"][data-scroll-direction="bottom-to-top"] .scroller--content{flex-direction:column;animation:yScrollerBTT var(--animation-speed) linear infinite}
.scroller[data-direction="y"][data-scroll-direction="top-to-bottom"] .scroller--content{flex-direction:column-reverse;animation:yScrollerTTB var(--animation-speed) linear infinite}
.scroller[data-enlarge-on-hover="true"] .scroller--content li:hover img{transform:scale(1.2);transition:transform 0.3s ease}
@keyframes xScrollerLTR{to{transform:translateX(-50%)}}
@keyframes xScrollerRTL{to{transform:translateX(50%)}}
@keyframes yScrollerBTT{to{transform:translateY(-50%)}}
@keyframes yScrollerTTB{from{transform:translateY(-50%)}}.about-item-header{padding:var(--container-padding);position:relative}
.about-item-header img{width:100%;height:auto;display:block;border-radius:var(--border-radius)}
.about-item-header h3{position:absolute;bottom:0;left:0;background-color:var(--color-blue);color:var(--color-white);padding:10px;margin:0;box-shadow:0 4px 8px var(--color-black);border-radius:var(--border-radius);z-index:10}
.about-item-content{padding:20px 10px;background-color:var(--color-white)}
.text-link{color:var(--color-blue);font-size:1.5em;display:inline-block;transition:transform 0.3s ease;padding:0;text-decoration:none;border-radius:var(--border-radius);font-family:var(--font-secondary),serif;border:none;background-color:transparent}.text-link:hover{transform:scale(1.1)}
.text-link i{font-size:0.75em}@keyframes slideInFromRight{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}
@keyframes slideInFromLeft{from{transform:translateX(-100%);opacity:0}to{transform:translateX(0);opacity:1}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.about-item-header img,
.about-item-header h3,
.about-item-content{visibility:visible;opacity:0}.scroll-animate-right{animation:slideInFromRight 0.5s ease forwards}
.scroll-animate-left{animation:slideInFromLeft 0.5s ease 0.5s forwards}
.scroll-fade-in{animation:fadeIn 1s ease 1s forwards}
.services .content h2{color:var(--color-secondary);margin-bottom:10px;font-family:var(--font-primary),serif}
.services .content h1{margin-bottom:20px;color:var(--color-black);font-family:var(--font-primary),serif}
.services .content p{margin-bottom:20px;line-height:1.5;font-family:var(--font-secondary),serif;color:var(--color-black)}
.services .content h3{margin-top:20px;margin-bottom:10px;color:var(--color-black);font-family:var(--font-primary),serif}
.services .buttons{margin-top:20px;display:flex;gap:15px}
.services .image{margin-top:20px;text-align:center}
.services .image img{max-width:100%;height:auto}.services-header{display:flex;flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:1.5rem}.services-content{display:flex;flex-direction:column;gap:20px}.service-item{display:flex;flex-direction:column;gap:20px}.service-item-image img{width:100%;height:auto}.service-item-content{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.service-item-content p{margin-bottom:10px}
.service-item-content li{font-size:1.8em}@media (min-width:768px){.services-header{flex-direction:column}.service-item{flex-direction:row}.service-item-image{width:33.33%}.service-item-content{width:66.67%}}.contact{padding:40px var(--container-padding);color:var(--color-white);text-align:center;margin:20px -20px}
.contact-content{background-color:var(--color-black);padding:40px var(--container-padding);max-width:var(--container-max-width);margin:0 auto}
.contact h2{font-size:2em;margin-bottom:20px;font-family:var(--font-primary),serif;color:var(--color-white)}
.contact p{font-size:1.2em;margin-bottom:20px;font-family:var(--font-secondary),serif;color:var(--color-white)}
.contact-form{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:20px}
.contact-form .form-row{display:flex;flex-direction:column;gap:10px;width:100%}
.contact-form input,
.contact-form textarea{padding:15px 20px;font-size:1em;width:100%;max-width:400px;border:2px solid var(--color-gray);border-radius:var(--border-radius);outline:none;transition:border-color 0.2s,box-shadow 0.2s}.contact-form input:focus,
.contact-form textarea:focus{border-color:var(--color-blue);box-shadow:0 0 8px rgba(52,152,219,0.6)}
.contact-form textarea{height:150px;resize:vertical}.contact-form button:active{transform:scale(0.97);background-color:var(--color-blue);transition:transform 0.1s,background-color 0.2s}
.contact-disclaimer{font-size:1em!important;max-width:75%;margin:1rem auto}
.contact-form input,
.contact-form textarea,
.contact-form button{font-family:var(--font-primary),serif}
#contactForm_forms_flash>div>button{display:none!important}.blog-section{padding:40px 0;background-color:var(--color-white);max-width:var(--container-max-width);margin:0 auto;text-align:left}
.blog-header h2{color:var(--color-secondary);font-family:var(--font-primary),serif;margin-bottom:10px}
.blog-header h1{font-family:var(--font-primary),serif;color:var(--color-black);margin-bottom:20px}
.blog-header p{font-family:var(--font-secondary),serif;color:var(--color-black);margin-bottom:20px}
.blog-carousel{display:flex;overflow-x:hidden;scroll-snap-type:x mandatory;gap:20px;margin-top:2rem;padding-bottom:20px}
.blog-item img{border-radius:var(--border-radius);margin-bottom:15px;object-fit:cover;width:100%;height:auto;max-height:400px}
.blog-item{max-width:calc(100vw - 100px);flex:0 0 auto;scroll-snap-align:start}
.blog-meta{display:flex;justify-content:space-between;margin-bottom:10px}
.blog-meta .tag{background-color:var(--color-blue);color:var(--color-white);padding:5px 10px;border-radius:var(--border-radius);font-size:0.875em;font-family:var(--font-secondary),serif;box-shadow:0 2px 4px var(--color-black)}
.blog-meta .read-time{font-size:0.875em;color:var(--color-black)}
.blog-item h3{font-family:var(--font-primary),serif;color:var(--color-black);margin-bottom:10px}
.blog-item p{font-family:var(--font-secondary),serif;color:var(--color-black);margin-bottom:15px}
.blog-item .read-more{font-size:1em;font-family:var(--font-secondary),serif;color:var(--color-blue);text-decoration:underline;display:inline-flex;align-items:center;gap:5px}
.blog-item i{color:var(--color-blue)}
.carousel-navigation{display:flex;align-items:center;justify-content:space-between}
.carousel-navigation .dot{background-color:var(--color-gray);border-radius:50%;display:inline-block;width:10px;height:10px;margin-right:1rem}
.carousel-navigation .dot.active{background-color:var(--color-blue)}
.carousel-navigation .arrows{display:flex;gap:10px;margin-left:auto}
.carousel-navigation .arrow{background-color:var(--color-white);border:2px solid var(--color-blue);border-radius:50%;width:40px;height:40px;font-size:1.5em;color:var(--color-blue);display:flex;justify-content:center;align-items:center;cursor:pointer;transition:background-color 0.3s ease,color 0.3s ease}
.carousel-navigation .arrow:disabled{background-color:var(--color-gray);color:var(--color-light-gray);cursor:not-allowed;border-color:var(--color-gray);opacity:0.5}footer{background-color:var(--color-black);color:var(--color-white);padding:40px 20px 20px 20px;text-align:center;font-family:var(--font-secondary),serif}
footer .logo img{max-height:150px}
footer .footer-content{display:flex;flex-direction:column;align-items:center}
footer .footer-info-container{border:2px solid var(--color-blue);padding:20px;width:100%;
max-width:calc(var(--container-max-width) - 40px);margin:20px 0;display:flex;flex-direction:column;align-items:center}
footer .footer-links{display:flex;justify-content:space-around;flex-wrap:wrap;width:100%;gap:15px}
footer .footer-links div{margin:10px 20px}
footer .footer-links a{color:var(--color-white);margin:5px 0;display:block;font-size:1rem}footer .social-icons{display:flex;justify-content:center;gap:15px}
footer .social-icons a{color:var(--color-blue);font-size:1.5rem}
footer .social-icons a:hover{color:var(--color-blue)}
footer .footer-info{display:flex;flex-direction:column;color:var(--color-white);margin-top:20px}
footer .footer-info a{color:var(--color-white);margin:5px 0}footer .footer-info p{color:var(--color-white);margin-bottom:0.5rem}footer .footer-terms-info h6{margin-left:20px;color:var(--color-white)}.scroll-to-top{position:fixed;bottom:20px;right:20px;padding:10px;font-size:20px;background-color:var(--color-blue);color:var(--color-white);border:none;border-radius:50%;cursor:pointer;box-shadow:0 2px 4px var(--color-black);opacity:0;visibility:hidden;transition:opacity 0.3s,visibility 0.3s}
.scroll-to-top.show{opacity:1;visibility:visible}.fade-in-section{opacity:0;transform:translateY(20px);transition:opacity 0.6s ease-out,transform 0.6s ease-out}
.fade-in-section.show{opacity:1;transform:translateY(0)}.loader{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--color-white);display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:10000;opacity:1;transition:opacity 0.5s ease}.loader-logo{height:auto;opacity:1;border:none;box-shadow:none}.loader-text{margin-top:20px;font-size:18px;color:var(--color-blue);font-family:var(--font-primary),serif;opacity:1}.loader.hide{opacity:0;visibility:hidden;transition:opacity 0.5s ease}.main-content.hidden{opacity:0;visibility:hidden}.main-content.visible{visibility:visible;opacity:1;transition:opacity 1s ease}#page-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--color-blue);z-index:9999;opacity:1;visibility:visible;transition:opacity 1s ease,visibility 1s ease}#page-overlay.hidden{opacity:0;visibility:hidden}.pdf-iframe{height:75vh}.cookie-popup{position:fixed;bottom:0;left:0;width:100%;display:flex;justify-content:center;align-items:flex-end;z-index:10000;opacity:0;visibility:hidden;transition:opacity 0.3s ease,visibility 0.3s ease,transform 0.3s ease;transform:translateY(100%)}
.cookie-popup.hidden{opacity:0;visibility:hidden;transform:translateY(100%)}
.cookie-popup-content{background-color:white;padding:20px;border-radius:8px 8px 0 0;width:100%;max-width:400px;box-shadow:0 -4px 8px rgba(0,0,0,0.2)}
.cookie-popup-content h2{margin-top:0}
.cookie-popup-actions{margin-top:20px;display:flex;justify-content:flex-end;gap:10px}.cookie-toggle{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.toggle-switch{position:relative;display:inline-block;width:50px;height:24px}
.toggle-switch input{opacity:0;width:0;height:0}
.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.4s;border-radius:24px}
.slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:white;transition:.4s;border-radius:50%}
input:checked + .slider{background-color:var(--color-blue)}
input:checked + .slider:before{transform:translateX(26px)}
.logo{}
.menu-btn{order:2}.hide-on-mobile{display:none}.privacy,.terms{padding:40px 0}
.privacy .row,.terms .row{display:flex;flex-wrap:wrap;margin-bottom:1rem}.privacy .image,.terms .image{flex:1;min-width:300px}.privacy .content,.terms .content{flex:2;min-width:300px}.privacy .pdf-iframe,.terms .pdf-iframe{width:100%;height:600px}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.modal{display:none;justify-content:center;align-items:center;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:rgba(0,0,0,0.8);opacity:0;animation:fadeIn 0.5s forwards}.modal:target{display:flex;opacity:1}.modal-content{position:relative;background-color:#fefefe;padding:20px;border:1px solid #888;width:90%;height:auto;max-height:95vh;overflow-y:auto;border-radius:10px;box-sizing:border-box}.modal .close{color:#aaa;font-weight:bold;position:absolute;top:20px;right:20px;z-index:1001;background:none;border:none;font-size:1.5rem;cursor:pointer}.modal .close:hover,
.modal .close:focus{color:black;text-decoration:none;cursor:pointer}.modal-row{margin:2rem 0}.modal-row-item{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:20px}.modal-row-item img{width:100%;height:auto}.modal-row-item h3{width:100%;text-align:left}.flex-column{flex-direction:column}strong{font-family:var(--font-primary),serif}.small{
font-size:1.5rem}@media (min-width:768px){h1{font-size:3em}h2{font-size:2.625em}h3{font-size:2.25em}h4{font-size:2.5em}h5{font-size:1.875em}h6{font-size:1.3125em;margin-bottom:10px}p{font-size:1.8em;line-height:1.4;margin-bottom:30px;font-family:var(--font-secondary),serif;color:var(--color-black)}header{display:flex;justify-content:space-between;background-color:var(--color-white)}body{scroll-snap-type:y mandatory;overflow-y:scroll;height:100vh}section{scroll-snap-align:start}
.hide-on-desktop{display:none}
.hide-on-mobile{display:block}
.btn-invert{background-color:var(--color-white);color:var(--color-blue);width:auto!important}.logo-container{justify-content:flex-start;align-items:center;padding:10px 40px;width:auto}.logo{margin-right:auto}.menu-btn{display:none}.nav-content{padding:10px 40px;display:flex !important;flex-direction:row;justify-content:flex-end;align-items:center;width:auto;background-color:var(--color-white);position:relative;box-shadow:none}.nav-items{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;list-style:none;margin:0;padding:0}.nav-items li{width:auto;padding:0 10px;margin:0;text-align:center}.nav-items li a{color:var(--color-blue);padding:15px 20px;text-decoration:none;font-size:1.5rem}.nav-items li a:hover{color:var(--color-white);background-color:var(--color-blue);border-radius:var(--border-radius)}.hero{flex-direction:row;align-items:center}.hero-content,.portfolio-container{width:50%}.hero-content{order:1}.portfolio-container{order:2}.about-item-header img,.about-item-header h3,.about-item-content{opacity:1;transform:none;animation:none;transition:none}
.about-item-header h3{min-height:200px;position:unset}
.about-item-content p{min-height:300px}.about-items-container{display:flex;flex-direction:row;justify-content:space-between}.about-item{flex:1;margin:0 10px}footer .footer-content{display:flex;flex-direction:column;align-items:center}
footer .footer-content-container{min-width:var(--container-max-width)}footer .footer-info-container{display:flex;flex-direction:column;align-items:center;width:100%;margin:20px}footer .footer-info-container .logo{margin-bottom:20px}footer .footer-info-container .info-columns{display:flex;flex-direction:row;justify-content:space-between;width:100%}footer .footer-info-container .info-columns>div{flex:1;margin:0 10px}footer .footer-info{text-align:left}footer .footer-links{text-align:left}footer .footer-links ul{display:flex;flex-direction:column;list-style:none;padding:0;align-items:flex-start}footer .footer-links ul li{margin-right:20px}footer .footer-links ul li a{padding:unset}footer .footer-info-container .info-columns>div.footer-info{flex:2}footer .footer-info-container .info-columns>div{flex:1;margin:0 10px}footer .footer-terms-info{display:flex;flex-direction:row;justify-content:center;color:var(--color-white);width:100%}.modal-content{width:75%}.modal-row-item{flex-direction:row;margin-bottom:1.5rem}.modal-row-item img{width:25%;max-width:25%;height:auto}.modal-row-item h3{width:33.33%;align-self:flex-end;margin:0}.modal-row-content{display:flex;flex-direction:column;width:75%;margin:auto}}.cta-menu-buttons{display:flex;flex-direction:column;gap:10px;justify-content:flex-start;width:100%}.cta-menu-buttons .btn{width:100% !important;box-shadow:0 4px 6px rgba(0,0,0,0.1) !important;transition:background-color 0.3s ease,color 0.3s ease,transform 0.2s ease !important}@media (min-width:768px){.cta-menu-buttons{flex-direction:row;gap:20px}.cta-menu-buttons .btn{width:auto !important;box-shadow:none !important}}.freshscan .content h2{color:var(--color-secondary);margin-bottom:10px;font-family:var(--font-primary),serif}
.freshscan .content h1{margin-bottom:20px;color:var(--color-black);font-family:var(--font-primary),serif}
.freshscan .content p{margin-bottom:20px;line-height:1.5;font-family:var(--font-secondary),serif;color:var(--color-black)}
.freshscan .content h3{margin-top:20px;margin-bottom:10px;color:var(--color-black);font-family:var(--font-primary),serif}
.freshscan .buttons{margin-top:20px;display:flex;gap:15px}
.freshscan .image{margin-top:20px;text-align:center}
.freshscan .image img{max-width:100%;height:auto}.freshscan-header{display:flex;flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:1.5rem}.freshscan-content{display:flex;flex-direction:column;gap:20px}.freshscan-item{display:flex;flex-direction:column;gap:20px}.freshscan-item-image img{width:100%;height:auto}.freshscan-item-content{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.freshscan-item-content p{margin-bottom:10px}
.freshscan-item-content li{font-size:1.2em}.freshscan-item-content h3{margin-top:1.5rem;margin-bottom:0.5rem;font-family:var(--font-primary),serif;color:var(--color-black)}@media (min-width:768px){.freshscan-item-content h3{margin-top:4rem;margin-bottom:1rem}.freshscan-item-content li{font-size:1.8em}.freshscan-header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:2rem}.freshscan-header-content{flex:1;padding-right:2rem}.freshscan-header-image{flex:1;max-width:50%;display:flex;justify-content:flex-end}.freshscan-header-image img{width:100%;max-width:400px;height:auto;border-radius:var(--border-radius);display:block}}