.layout{min-height:100vh;display:flex;flex-direction:column}main{flex:1 1}.mobile-menu{position:fixed;top:0;right:-100%;width:70%;max-width:300px;height:100vh;background-color:hsl(from var(--secondary-color) h s l/.7);-webkit-backdrop-filter:blur(50px);backdrop-filter:blur(50px);box-shadow:var(--shadow-lg);padding:7.5rem 2rem 2rem;display:flex;flex-direction:column;gap:1.5rem;transition:all var(--transition-1);z-index:998;&.active{right:0}a{color:var(--dark-color);font-weight:600;text-transform:uppercase;font-size:.8rem;letter-spacing:1px;text-decoration:none;transition:all var(--transition-1);&:hover{color:var(--primary-color)}}.btn{color:var(--white);text-align:center;min-width:120px;&:hover{color:var(--white);transform:translateY(0)}}}.mobile-controls{display:flex;align-items:center;width:100%;gap:.8rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid hsl(from var(--text-color) h s l/.15)}.navbar{position:fixed;top:0;width:100%;padding:20px 0;background-color:var(--secondary-color);box-shadow:var(--shadow);z-index:1000;transition:all var(--transition-1);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);&.scrolled{padding:15px 0;background-color:hsl(from var(--secondary-color) h s l/.6);box-shadow:var(--shadow),var(--shadow-lg)}.container{display:flex;align-items:center;justify-content:space-between;padding:0 40px}}.hamburger{--transform-value:5.5px;display:none;background:none;border:none;cursor:pointer;padding:.5rem;z-index:1001;span{display:block;box-sizing:border-box;width:24px;border-radius:30px;background-color:var(--dark-color);margin:4px 2px;padding:2px;transition:all var(--transition-1)}&.active{span:first-child{transform:rotate(45deg) translate(var(--transform-value),var(--transform-value))}span:nth-child(2){opacity:0}span:nth-child(3){transform:rotate(-45deg) translate(var(--transform-value),calc(var(--transform-value) * -1))}}}.logo{display:flex;align-items:center;min-width:137px;color:var(--primary-color);span{color:var(--dark-color);margin-left:1px}}.nav-links{display:flex;align-items:center;list-style:none;li{margin-left:30px}.btn{color:var(--white);&:hover{color:var(--white);transform:translateY(-1.5px)}}a{color:var(--dark-color);font-weight:600;text-transform:uppercase;font-size:.9rem;letter-spacing:1px;&:hover{color:var(--primary-color)}}}.nav-controls{display:flex;align-items:center;gap:.5rem;margin-right:-15px}@media screen and (max-width:800px){.hamburger{display:block}.nav-links{display:none}.logo{min-width:clamp(97px,35vw,137px);.camera-icon{width:160px}}}.about{background-color:var(--secondary-color)}.about-content{display:flex;align-items:center;gap:50px}.about-text{flex:1 1;font-size:clamp(.95rem,2vw,1.5rem);font-weight:600;p{margin:0;padding:0}p+p{margin-top:12%}}.about-image{flex:1 1;border-radius:20px;overflow:hidden;box-shadow:var(--shadow);img{width:100%;height:auto;display:block}}@media (max-width:800px){.about-content{flex-direction:column}.about-text{max-width:400px;p+p{margin-top:1.5rem}}.about-image{margin-top:30px}}:root{--message-green:hsl(120,70%,45%);--message-red:hsl(0,70%,45%)}[data-theme=dark]{--message-green:hsl(120,70%,65%);--message-red:hsl(0,70%,65%)}.contact{background-color:var(--secondary-color)}.contact-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:50px;gap:50px}.contact-info{h3{color:var(--primary-color);font-size:1.4rem;&:nth-last-of-type(2){margin-bottom:30px}&:last-of-type{margin-bottom:10px}}p{font-weight:700;font-family:Arial,Helvetica,sans-serif}}.contact-details{margin-bottom:40px}.contact-item{display:flex;align-items:flex-start;margin-bottom:20px}.contact-icon{width:40px;height:40px;background-color:var(--primary-color);color:var(--secondary-color);border-radius:50%;display:flex;justify-content:center;align-items:center;margin-right:15px;flex-shrink:0}.contact-text{h4{margin-bottom:5px;font-size:1.3rem}}.contact-form .form-group{margin-bottom:20px}.contact-form{label{display:block;margin-bottom:5px;font-weight:600;color:var(--primary-color)}.form-group input,.form-group textarea,input,select,textarea{width:100%;padding:12px;border:1px solid var(--border-color);border-radius:20px;font-size:1rem;background-color:var(--secondary-color);color:var(--text-color);&:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}&::placeholder{color:var(--placeholder-color);opacity:var(--placeholder-opacity)}}.form-group textarea,textarea{height:150px;resize:vertical}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-repeat:no-repeat;background-position:right 12px center;background-size:16px;padding-right:40px;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='hsl(25, 35%, 20%)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");[data-theme=dark] &{background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='hsl(35, 25%, 85%)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e")}&:hover{border-color:var(--primary-color)}}}.form-success{color:var(--message-green);margin-top:1rem;padding:1rem;border-radius:var(--radius);background:hsl(from var(--message-green) h s l/.12)}.form-error{color:var(--message-red);margin-top:1rem;padding:1rem;border-radius:var(--radius);background:hsl(from var(--message-red) h s l/.12);p{color:var(--message-red);margin-bottom:.5rem;font-weight:600}ul{list-style:none;padding-left:.5rem;margin:0;li{font-size:.9rem;opacity:.9;&:before{content:"•";color:var(--message-red);font-weight:700;display:inline-block;width:1em;margin-left:-.5em}}}}button:disabled{opacity:.7;cursor:not-allowed}.services{background-color:var(--light-color)}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:30px;gap:30px}@media (max-width:1015px){.services-grid{grid-template-columns:1fr}}:root{--cells-dimension:180px;--percentage-reduction-1:0.1;--percentage-reduction-2:0.2;--percentage-reduction-3:0.4}.portfolio{background-color:var(--portfolio-bg-color);padding:70px 0 40px;margin-top:30px}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--cells-dimension),1fr));grid-auto-rows:minmax(var(--cells-dimension),auto);grid-gap:8px;gap:8px;margin:0 20px;justify-content:center;align-content:start;grid-auto-flow:dense}.portfolio-filter{display:flex;justify-content:center;margin-bottom:20px;gap:7px;flex-wrap:wrap;flex-shrink:0}.filter-btn{box-sizing:border-box;color:var(--primary-color);padding:10px;margin:0 10px;min-width:70px;cursor:pointer;font-weight:600;border-radius:20px;text-transform:uppercase;font-size:.8rem;letter-spacing:1px;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:all var(--transition-3);box-shadow:none;border:1px solid var(--primary-color);background:var(--filter-btn-bg-col-normal);&:hover{background:var(--filter-btn-bg-col-hover);box-shadow:var(--filter-btn-shadow-hover)}&.active,&:hover{color:var(--secondary-color);border-color:var(--secondary-color)}&.active{background:var(--filter-btn-bg-col-active);box-shadow:var(--filter-btn-shadow-active)}&:first-child{color:var(--secondary-color);background:var(--filter-all-btn-bg-normal);border-color:var(--secondary-color);&:hover{background:var(--filter-all-btn-bg-hover);box-shadow:var(--filter-btn-shadow-hover)}&.active{color:var(--light);background:var(--gradient-btn-hover);box-shadow:var(--filter-all-btn-shadow-active)}}}@media (max-width:1024px){.portfolio-grid{grid-template-columns:repeat(auto-fit,minmax(calc(var(--cells-dimension) - (var(--cells-dimension) * var(--percentage-reduction-1))),1fr))}.portfolio-item{&.horizontal{grid-column-end:span 4!important}&.horizontal,&.vertical{grid-row-end:span 3!important}&.vertical{grid-column-end:span 2!important}}}@media (max-width:747px){.portfolio-filter{justify-content:center;margin:0 10px 20px;gap:7px 7px}.filter-btn{min-width:55px;margin:0;white-space:nowrap;padding:8px 12px;font-size:clamp(.5rem,1.5vw,.8rem);letter-spacing:.5px;flex:0 0 auto}}@media (max-width:630px){.portfolio-grid{grid-template-columns:repeat(auto-fit,minmax(calc(var(--cells-dimension) - (var(--cells-dimension) * var(--percentage-reduction-2))),1fr))}.portfolio-item{&.horizontal{grid-column-end:span 3!important}&.horizontal,&.vertical{grid-row-end:span 2!important}&.vertical{grid-column-end:span 1!important}}}@media (max-width:505px){.portfolio-grid{grid-template-columns:repeat(auto-fit,minmax(calc(var(--cells-dimension) - (var(--cells-dimension) * var(--percentage-reduction-3))),1fr))}}@media (max-width:400px){.portfolio-grid{grid-template-columns:1fr}.portfolio-item{&.horizontal,&.vertical{grid-row-end:span 2!important;grid-column-end:span 1!important}}}.camera-icon{margin-left:10px;width:180px;.photo-logo-col-1{fill:var(--dark-color)}.photo-logo-col-2{fill:var(--primary-color)}.photo-logo-col-3{fill:var(--white)}}:root{--at-logo-gradient-color-normal:linear-gradient(-45deg,hsl(0,100%,40%),hsl(0,100%,75%));--at-logo-gradient-color-hover:linear-gradient(-22deg,hsl(0,100%,40%) 35%,hsl(0,100%,90%));--at-logo-shadow-normal:0 3px 10px hsla(0,0%,0%,0.45);--at-logo-shadow-hover:0 5px 15px hsla(0,100%,40%,0.7);--at-logo-shadow-mobile:0 3px 15px hsla(0,100%,30%,0.4)}.my-hub{--dimension:45px;--transition-time:0.5s linear;position:relative;overflow:hidden;border-radius:100%;margin-left:15px!important;box-shadow:var(--at-logo-shadow-normal);transition:all var(--transition-time);&:after,&:before{content:"";position:absolute;inset:0;transition:opacity var(--transition-time)}&:before{background:var(--at-logo-gradient-color-normal);opacity:1}&:after{background:var(--at-logo-gradient-color-hover);opacity:0}&:hover{transform:translateY(-2px);box-shadow:var(--at-logo-shadow-hover);&:after{opacity:1}}a{display:block;width:var(--dimension);height:var(--dimension);position:relative;z-index:1;svg{height:auto;width:100%;fill:white;scale:.8}}}.mobile-menu{.my-hub{display:flex;border-radius:50px;margin-left:0!important;min-width:120px;box-shadow:var(--at-logo-shadow-mobile);&:after{opacity:0}&:hover{transition:none;transform:none;&:before{opacity:1}&:after{opacity:0}}a{display:flex;justify-content:center;width:100%}}}.dropdown-widget{position:relative;display:inline-block}.dropdown-toggle-button{display:flex;align-items:center;justify-content:space-between;width:3.5rem;height:2.5rem;padding:0 .5rem;border:none;border-radius:var(--radius);color:var(--text-color);background:transparent;cursor:pointer;transition:all var(--transition-1);font-size:.875rem;position:relative;gap:.25rem;&:hover{color:var(--primary-color)}&:focus,&:hover{border-color:var(--primary-color)}&:focus{outline:none}}.dropdown-toggle-button .chevron{font-size:.75rem;transition:all var(--transition-1);margin-left:.25rem}.dropdown-toggle-button[aria-expanded=true] .chevron{transform:rotate(180deg)}.dropdown-menu{position:absolute;top:100%;left:0;right:0;border:1px solid var(--terciary-color);border-radius:var(--radius);box-shadow:var(--shadow-medium);z-index:1000;margin-top:.25rem;overflow:hidden;background:hsl(from var(--secondary-color) h s l/.9)}.dropdown-option{display:flex;align-items:center;justify-content:center;width:100%;height:2.5rem;border:none;background:transparent;color:var(--text-color);cursor:pointer;transition:all var(--transition-1);font-size:.875rem;&:hover{background-color:var(--btn-bright-color);color:var(--text-color)}&.active{background-color:var(--primary-color);color:var(--white)}}.footer .dropdown-toggle-button{background-color:var(--footer-bg-col);border-color:rgba(255,255,255,.2);color:var(--white);&:hover{border-color:var(--primary);color:var(--white)}}.footer .dropdown-menu{background-color:var(--footer-bg-col);border-color:var(--shadow-dark-hover-subtle);bottom:100%;top:auto;margin-bottom:.25rem;margin-top:0}.footer .dropdown-option{color:var(--white);&.active{background-color:var(--primary);color:var(--white)}}.service-card{background-color:var(--secondary-color);border-radius:10px;overflow:hidden;box-shadow:var(--shadow)}.service-image{height:250px;overflow:hidden;position:relative;img{width:100%;height:100%;object-fit:cover;object-position:0 40%}}.service-info{padding:25px;height:320px;display:flex;flex-direction:column;gap:10px;h3{color:var(--primary-color);height:15%;display:flex;align-items:center;justify-content:center;margin-bottom:0}.description{height:30%;text-align:center;margin-bottom:0}.price-container{display:flex;flex-direction:column;justify-content:center;height:30%;color:var(--primary-color);font-weight:700;font-size:1.2rem;margin-bottom:0}.price-row{display:flex;justify-content:space-between;align-items:center}.price-label{text-align:left}.price-value{text-align:right}.btn{text-align:center;font-size:1.3rem;padding:8px 25px;transition:transform var(--transition-3);height:15%;display:flex;align-items:center;justify-content:center;&:hover{color:var(--secondary-color);transform:translateY(-5px)}}}@media (max-width:768px){.service-card{transition:none;min-width:260px;&:hover{transform:none;.service-image img{transform:none}}}.service-image{height:170px;img{object-position:0 45%}}.service-info{padding:5px 25px 15px;height:250px;gap:5px;h3{font-weight:800;font-size:clamp(.9rem,2vw,1.17em)}.description{font-size:clamp(.8rem,1.8vw,1rem)}.price-container{font-size:clamp(.9rem,2vw,1.2rem)}.btn{padding:8px 25px;font-size:clamp(.9rem,2.1vw,1.3rem);&:hover{transform:none}}}}.social-links{display:flex;margin-bottom:20px;a{width:40px;height:40px;background-color:var(--social-bg);color:var(--light);border-radius:50%;display:flex;justify-content:center;align-items:center;margin:0 10px;transition:all var(--transition-1);&:hover{background-color:var(--primary-color);transform:translateY(-3px)}}}@media (max-width:768px){.social-links a{transition:none;&:hover{background-color:var(--social-bg);transform:none}}}.portfolio-item{position:relative;display:flex;border-radius:10px;overflow:hidden;box-shadow:var(--shadow-2);transition:all var(--transition-2);cursor:pointer;&.horizontal{grid-row-end:span 4;grid-column-end:span 4}&.vertical{grid-row-end:span 4;grid-column-end:span 2}img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-2),filter var(--transition-2);filter:none}&:hover{img{transform:scale(1.1);filter:sepia(95%) saturate(2) hue-rotate(-10deg) contrast(.7)}.portfolio-overlay{opacity:1}}.portfolio-overlay{position:absolute;inset:0;background-color:var(--overlay-color);display:flex;flex-direction:column;justify-content:center;align-items:center;opacity:0;transition:opacity .3s ease;color:white;text-align:center;padding:20px;h3{margin-bottom:10px}h3,p{color:var(--secondary-color)}p{font-size:.9rem}}}@media (max-width:768px){.portfolio-item .portfolio-overlay,.portfolio-item img{transition:none}.portfolio-item:hover img{transform:none;filter:none}.portfolio-item:hover .portfolio-overlay{opacity:0}}.portfolio-modal{position:fixed;inset:0;background-color:hsla(0,0%,0%,.65);-webkit-backdrop-filter:blur(10px) sepia(75%) saturate(1.3) hue-rotate(-10deg) contrast(.7);backdrop-filter:blur(10px) sepia(75%) saturate(1.3) hue-rotate(-10deg) contrast(.7);display:flex;justify-content:center;align-items:center;z-index:9999;opacity:0;visibility:hidden;transition:all var(--transition-3);-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:2rem;&.active{opacity:1;visibility:visible}}.portfolio-modal-content{position:relative;box-sizing:border-box;display:flex;align-items:center;justify-content:center;z-index:2;border-radius:20px;box-shadow:var(--shadow-3);max-height:90vh;max-width:90vw;overflow:hidden;img{width:auto;height:90vh}}.portfolio-modal-close,.portfolio-modal-nav{--dimension:40px;display:flex;align-items:center;justify-content:center;border:1px solid transparent;width:var(--dimension);height:var(--dimension);border-radius:50%;cursor:pointer;color:var(--modal-btn-normal-col);background:var(--modal-btn-normal-bg-col);transition:all var(--transition-3);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);box-shadow:var(--shadow);z-index:2;&:hover{background:var(--modal-btn-hover-bg-col);transform:scale(1.2);color:var(--modal-btn-hover-col);border:1px solid var(--modal-btn-hover-col)}}.portfolio-modal-close{position:absolute;top:15px;right:15px;svg{path{stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}}}.portfolio-modal-nav{position:absolute;svg{scale:.6;path{stroke:currentColor;fill:currentColor;paint-order:fill;stroke-linejoin:round;stroke-width:4px}}&.prev{left:10px;svg{rotate:180deg}}&.next{right:10px}}@media (max-width:768px){.portfolio-modal{padding:1rem}.portfolio-modal-content{--min-width:200px;min-width:var(--min-width);img{width:90vw;height:auto;min-width:var(--min-width)}}.portfolio-modal-close{--distance:10px;--dimension:27px;top:var(--distance);right:var(--distance);width:var(--dimension);height:var(--dimension);svg{scale:.75;path{stroke-width:2.5}}}.portfolio-modal-nav{--dimension:27px;width:var(--dimension);height:var(--dimension)}.portfolio-modal-close,.portfolio-modal-nav{transition:none}.portfolio-modal-close:hover,.portfolio-modal-nav:hover{background:var(--modal-btn-normal-bg-col);transform:none;color:var(--modal-btn-normal-col);border-color:transparent}}.custom-input-container,.date-picker-field{position:relative;width:100%}.custom-datepicker-input{width:100%;padding:12px 40px 12px 12px;border:1px solid var(--border-color);border-radius:5px;font-size:1rem;background-color:var(--secondary-color);color:var(--text-color)}.calendar-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--primary-color);cursor:pointer;z-index:1;transition:color .2s ease}.calendar-icon.active,.calendar-icon:hover{color:var(--accent-color,var(--primary-color))}.calendar-container{position:absolute;top:calc(100% + 10px);left:0;z-index:1000}.custom-datepicker-calendar{background-color:var(--secondary-color);border:1px solid var(--border-color);border-radius:5px;box-shadow:0 5px 15px rgba(0,0,0,.1)}.react-datepicker{font-family:inherit;width:100%;border:none}.react-datepicker__header{background-color:var(--secondary-color);border-bottom:1px solid var(--border-color)}.react-datepicker__current-month,.react-datepicker__day,.react-datepicker__day-name{color:var(--text-color)}.react-datepicker__day:hover{background-color:var(--light-color);color:var(--primary-color)}.react-datepicker__day--keyboard-selected,.react-datepicker__day--selected{background-color:var(--primary-color)!important;color:white!important}@media (max-width:768px){.custom-datepicker-input{font-size:.9rem;padding:10px 36px 10px 10px}.calendar-icon{right:10px}}.language-switcher .dropdown-toggle-button{font-size:1.25rem;width:3.5rem;min-width:3.5rem;max-width:3.5rem}.language-switcher .dropdown-menu.fit-content{min-width:7rem;width:max-content;left:50%;transform:translateX(-25%);right:auto}.language-switcher .dropdown-option{gap:.5rem;font-size:1rem;padding:0 1rem;justify-content:flex-start}.language-flag{font-size:1.25rem;-webkit-user-select:none;-moz-user-select:none;user-select:none;transform:translateY(-2px) scale(.9)}.language-name{font-size:1rem;font-weight:500}.language-switcher .dropdown-option .language-flag{display:none}footer{background-color:var(--footer-bg-color);color:var(--secondary-color);padding:20px 0 0;text-align:center}.footer-content{display:flex;flex-direction:column;align-items:center}.footer-top-content{display:flex;flex-direction:row;align-items:center;width:60%;justify-content:space-between;.logo{margin-bottom:15px;span{color:var(--light)}.photo-logo-col-1{fill:var(--light)}}}.footer-bottom{width:100%;margin-top:5px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);p{color:var(--light)}}.copyright{font-size:.9rem;opacity:.7}@media (max-width:800px){.footer-top-content{flex-direction:column}}