/* RESET AND NORMALIZE */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,main,menu,nav,output,ruby,section,summary,time,mark,audio,video{
  margin:0;
  padding:0;
  border:0;
  font-size:100%;
  font:inherit;
  vertical-align:baseline;
  box-sizing:border-box;
}
article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section{
  display:block;
}
body{
  line-height:1.5;
  font-family:'Montserrat',Arial,sans-serif;
  background:#23232b;
  color:#ECECEC;
  min-height:100vh;
  letter-spacing:.03em;
}
img{
  max-width:100%;
  height:auto;
  display:block;
}
ul,ol{
  list-style:none;
}
a{
  color:#F299C6;
  text-decoration:none;
  transition:color .2s;
}
a:focus{ outline:2px dashed #F299C6; outline-offset:2px; }
a:hover{
  color:#fff;
}
h1,h2,h3,h4,h5,h6{
  color:#F6F6F8;
  font-family:'Playfair Display',serif;
  font-weight:700;
  margin-bottom:16px;
}
h1{font-size:2.5rem;line-height:1.15;}
h2{font-size:2rem;line-height:1.18;}
h3{font-size:1.375rem;line-height:1.25;}
h4{font-size:1.125rem;line-height:1.3;}

p,li,span,label,blockquote{
  font-size:1rem;
  color:#ECECEC;
  font-family:'Montserrat',Arial,sans-serif;
  line-height:1.7;
}
blockquote{
  font-style:italic;
  color:#bdbdbc;
  border-left:4px solid #68687c;
  padding-left:18px;
  margin:20px 0;
}
printf,figcaption{
  color:#BDBDBD;
}
strong{color:#F299C6;}

/* BRAND COLORS */
:root{
  --primary:#2D2946;
  --secondary:#F299C6;
  --accent:#F6F6F8;
  --industrial-dark:#23232b;
  --metal:#68687c;
  --metal-dark:#444452;
  --white:#fff;
  --input-bg:#23232b;
  --input-fg:#ECECEC;
  --input-border:#68687c;
}

.container{
  width:100%;
  max-width:1180px;
  margin:0 auto;
  padding:0 20px;
}

/* HEADER */
header{
  background:var(--primary);
  box-shadow:0 2px 12px 0 rgba(30,30,38,0.15);
  border-bottom:2px solid var(--metal-dark);
}
header .container{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:72px;
  gap:24px;
}
.logo img{
  height:44px;
  width:auto;
}
nav{
  display:flex;
  gap:30px;
  align-items:center;
}
nav a{
  font-family:'Montserrat',Arial,sans-serif;
  color:var(--accent);
  font-size:1rem;
  letter-spacing:0.03em;
  text-transform:uppercase;
  font-weight:600;
  position:relative;
  padding:8px 0;
}
nav a::after{
  content:'';
  display:block;
  height:2px;
  background:var(--secondary);
  width:0;
  transition:width .3s cubic-bezier(.7,.33,.1,1);
  position:absolute;
  bottom:0; left:0;
}
nav a:hover::after{
  width:100%;
}
.cta-btn{
  padding:12px 28px;
  background:linear-gradient(90deg, #403F54 80%, #6A5571 120%);
  color:var(--secondary);
  border:none;
  border-radius:6px;
  font-family:'Montserrat',Arial,sans-serif;
  font-size:1.06rem;
  font-weight:700;
  box-shadow:0 2px 14px 0 rgba(112,100,120,0.16);
  cursor:pointer;
  transition:background .25s, color .18s, box-shadow .2s;
  position:relative;
  z-index:2;
  letter-spacing:0.09em;
  text-transform:uppercase;
}
.cta-btn:hover, .cta-btn:focus{
  background:var(--secondary);
  color:var(--primary);
  box-shadow:0 3px 22px 2px rgba(242,153,198,0.19);
}

/* MOBILE BURGER MENU */
.mobile-menu-toggle{
  background:none;
  border:none;
  color:var(--secondary);
  font-size:2.1rem;
  padding:4px 10px;
  display:none;
  cursor:pointer;
  z-index:30;
  line-height:1;
  transition:color .2s;
}
.mobile-menu-toggle:focus{
  outline:2px dashed var(--secondary);
  outline-offset:2px;
}
/* hamburger appears on mobile */
@media(max-width:1024px){
  nav{display:none;}
  .mobile-menu-toggle{display:block;}
  .cta-btn{font-size:0.93rem;padding:11px 22px;}
}
.mobile-menu{
  position:fixed;
  top:0;left:0;width:100vw;height:100vh;
  background:rgba(45,41,70,0.95);
  box-shadow:2px 0 30px 0 rgba(43,43,52,0.27);
  z-index:3000;
  transform:translateX(-100vw);
  transition:transform .4s cubic-bezier(.7,.07,.4,1);
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  align-items:flex-start;
  padding:32px 0 0 0;
  pointer-events:none;
}
.mobile-menu.open{
  transform:translateX(0); pointer-events:auto;
}
.mobile-menu-close{
  align-self:flex-end;
  background:none;
  border:none;
  color:var(--secondary);
  font-size:2.3rem;
  margin:0 30px 20px 0;
  cursor:pointer;
  transition:color .2s;
  z-index:3050;
}
.mobile-nav{
  display:flex;
  flex-direction:column;
  gap:32px;
  padding:24px 36px;
  width:100%;
}
.mobile-nav a{
  color:var(--accent);
  font-size:1.15rem;
  font-weight:700;
  letter-spacing:0.06em;
  border-radius:4px;
  padding:11px 6px;
  transition:background .21s, color .18s;
  text-transform:uppercase;
}
.mobile-nav a:focus, .mobile-nav a:hover{
  background:var(--metal-dark);
  color:var(--secondary);
}

@media(min-width:1025px){
  .mobile-menu{ display:none !important; }
}

/* LAYOUT SPACING AND FLEXBOX */
.section{
  margin-bottom:60px;
  padding:40px 20px;
  background:none;
}
.card-container{
  display:flex;
  flex-wrap:wrap;
  gap:24px;
}
.card{margin-bottom:20px; position:relative;}

.content-grid{
  display:flex;
  flex-wrap:wrap;
  gap:20px;
  justify-content:space-between;
}

.text-image-section{
  display:flex;
  align-items:center;
  gap:30px;
  flex-wrap:wrap;
}

.testimonial-card{
  display:flex;
  align-items:center;
  gap:20px;
  padding:20px;
  background:var(--accent);
  color:var(--primary) !important;
  border-radius:13px;
  box-shadow:0 2px 11px 0 rgba(31,34,40,0.14);
  margin-bottom: 20px;
  border:1.5px solid var(--metal-dark);
  min-width:250px;
  max-width:380px;
  flex:1 1 300px;
  transition:box-shadow .2s, transform .18s;
}
.testimonial-card p,
.testimonial-card span{
  color:#23232b;
}
.testimonial-card:hover{
  box-shadow:0 5px 28px 0 rgba(92,94,104,0.22);
  transform:translateY(-4px) scale(1.015);
}

.feature-item{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:15px;
}

/* HERO SECTION */
.hero{
  background:linear-gradient(90deg,rgba(45,41,70,1),rgba(35,35,43,0.97));
  min-height:390px;
  display:flex;
  align-items:center;
  padding-top:48px;
  padding-bottom:56px;
  border-bottom:2px solid var(--metal-dark);
}
.hero .content-wrapper{
  display:flex;
  flex-direction:column;
  gap:24px;
  align-items:flex-start;
  padding:16px 0;
  max-width:610px;
}
.hero h1{font-size:2.8rem;}
.hero p{font-size:1.20rem; color:var(--accent); margin-bottom:10px;}

@media(max-width:768px){
  .section{margin-bottom:32px;padding:30px 8px;}
  .hero{
    min-height:250px;
    padding:26px 0 32px 0;
  }
  .hero .content-wrapper{max-width:unset;}
  .hero h1{font-size:1.54rem;}
  .hero p{font-size:1.01rem;}
  .container{padding:0 7px;}
}

/* FEATURES SECTION */
.features{
  background:var(--industrial-dark);
  border-bottom:2px solid var(--metal-dark);
}
.features .content-wrapper{display:flex;flex-direction:column;gap:32px;}
.feature-grid{
  display:flex;
  flex-wrap:wrap;
  gap:28px;
  justify-content:flex-start;
}
.feature-grid > div{
  background:var(--primary);
  border-radius:10px;
  padding:28px 18px 20px 18px;
  box-shadow:0 1px 9px 0 rgba(44,44,58,0.13);
  flex: 1 1 220px;
  min-width:220px;
  max-width:288px;
  border:1.5px solid var(--metal-dark);
  display:flex; flex-direction:column; align-items:flex-start; gap:13px;
  transition:box-shadow .21s, border-color .18s, transform .19s;
}
.feature-grid > div h3{color:var(--secondary);font-size:1.13rem;}
.feature-grid > div p{font-size:1rem; color:var(--accent);}
.feature-grid > div:hover{
  box-shadow:0 4px 24px 1px rgba(242,153,198,0.10);
  border-color:var(--secondary);
  transform:translateY(-2px) scale(1.025);
}

/* ABOUT, VALUES, TEAM */
.about{
  background:var(--primary);
  border-bottom:2px solid var(--metal-dark);
}
.about h2,.values h2{color:var(--secondary);}
.team-intro h3{color:var(--secondary);}
.team-intro ul{margin-left:0; padding-left: 12px;}
.values ul{margin-left:0; padding-left:12px;}
.values ul li{margin-bottom:11px;}
.values blockquote{color:var(--secondary); border-color:var(--secondary);}

/* CTA */
.cta{
  background:linear-gradient(94deg, #2D2946 70%, #444452 100%);
  border-radius:15px;
  box-shadow: 0 1px 15px 0 rgba(44,39,60,0.16);
  margin-bottom:40px;
  padding-top:22px;
  padding-bottom:22px;
}
.cta .content-wrapper{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:20px;
  justify-content:center;
}
.cta h2{color:var(--secondary);font-size:2.0rem;}
.secondary-contact, .contact-short{
  display:flex;
  gap:16px;
  align-items:center;
  color:var(--accent);
  font-size:1rem;
  margin-top:10px;
}

/* TESTIMONIALS */
.testimonials{
  background:var(--industrial-dark);
  border-bottom:2.5px solid var(--metal-dark);
}
.testimonial-slider{
  display:flex;
  flex-wrap:wrap;
  gap:24px;
  justify-content:flex-start;
}
.testimonial-card div{display:flex; align-items:center; gap:2px; margin-bottom:7px;}
.testimonial-card img{width:20px;height:20px;}
.testimonial-card span{font-size:0.99rem; color:#49486F; font-weight:600; letter-spacing:0.02em;margin-top:7px;display:block;}


/* SERVICE LIST */
.services{
  background:var(--primary);
  border-bottom:2px solid var(--metal-dark);
}
.service-list{
  display:flex;
  flex-wrap:wrap;
  gap:24px;
  justify-content:flex-start;
  margin-top:20px;
}
.service-list li{
  display:flex;align-items:flex-start;gap:18px;
  background:var(--industrial-dark);
  border:1.5px solid var(--metal-dark);
  border-radius:10px;
  box-shadow:0 1px 10px 0 rgba(60,61,75,0.10);
  padding:23px 14px 18px 13px;
  flex:1 1 280px;
  min-width:250px;
  max-width:425px;
  margin-bottom:20px;
  transition:box-shadow .18s, border-color .17s;
}
.service-list li:hover{
  border-color:var(--secondary);
  box-shadow:0 4px 20px 1px rgba(242,153,198,0.10);
}
.service-list img{width:44px;height:auto;}
.service-list h2{font-size:1.10rem;color:var(--secondary);margin-bottom:7px;}
.service-list .price{color:var(--secondary);font-weight:700;font-size:1.02rem;letter-spacing:0.04em;margin-top:7px;}

/* PROCESS & STEPS */
.process{
  background:var(--primary);
  border-bottom:2px solid var(--metal-dark);
}
.steps{
  display:flex;
  flex-wrap:wrap;
  gap:24px;
  margin-top:20px;
  justify-content:flex-start;
}
.steps li{
  background:var(--industrial-dark);
  border-radius:9px;
  border:1.1px solid var(--metal-dark);
  box-shadow:0 1px 7px 0 rgba(45,45,66,0.08);
  padding:21px 16px 16px 16px;
  flex:1 1 220px;
  min-width:180px;
  max-width:300px;
  margin-bottom:20px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:9px;
}
.steps li h2{font-size:1.09rem;color:var(--secondary);margin-bottom:6px;}
.steps li img{width:40px;height:auto;}

/* CONTACT DETAILS */
.contact-details{
  display:flex;
  flex-wrap:wrap;
  gap:36px;
  margin-top:24px;
  align-items:flex-start;
}
.contact-details > div{
  display:flex;
  align-items:center;
  gap:12px;
  font-size:1rem;
  color:var(--accent);
  background:none;
  padding:0;
}
.contact-details a{
  color:var(--secondary);font-weight:600;
  transition:color .185s;
}
.contact-details a:hover{color:var(--accent);}

/* INPUTS AND FORMS */
input[type=email], input[type=text], input[type=search]{
  background:var(--input-bg);
  color:var(--input-fg);
  border:1.5px solid var(--input-border);
  border-radius:6px;
  padding:10px 16px;
  font-size:1rem;
  outline:none;
  margin-top:3px;
  margin-bottom:3px;
  width:100%;
  transition:border-color .19s;
}
input[disabled],button[disabled]{
  opacity:.48;
  cursor:not-allowed;
}
input[type=email]:focus, input[type=text]:focus, input[type=search]:focus{
  border-color:var(--secondary);
}
button[type=submit]{
  background:var(--metal-dark);
  color:var(--accent);
  border:none;
  border-radius:5px;
  padding:8px 21px;
  font-size:1rem;
  font-weight:600;
  margin-top:9px;
  cursor:pointer;
  transition:background .19s, color .17s;
}
button[type=submit]:hover{
  background:var(--secondary);
  color:var(--primary);
}

/* BLOG */
.blog-intro{
  background:var(--industrial-dark);
  border-bottom:2px solid var(--metal-dark);
}
.featured-articles{
  margin:22px 0 0 0;
}
.featured-articles ul{
  margin:10px 0 0 0;
  padding-left:0;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.categories{
  background:var(--primary);
  border-bottom:2px solid var(--metal-dark);
}
.category-list{
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  margin:15px 0 0 0;
  padding-left:0;
}
.category-list li{
  background:var(--industrial-dark);
  border-radius:8px;
  padding:6px 19px;
  color:var(--accent);
  font-weight:500;
  font-size:1.01rem;
  border:1.1px solid var(--metal-dark);
}
.search-bar{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:22px;
  background:var(--metal-dark);
  padding:9px 17px;
  border-radius:7px;
  max-width:370px;
}
.search-bar img{width:19px;height:19px;}
.search-bar input{background:none; border:none; color:var(--accent); font-size:1rem; width:100%;}

.newsletter{
  background:var(--industrial-dark);
}
.newsletter form{
  display:flex;
  flex-direction:row;
  gap:11px;
  margin-top:14px;
}
.newsletter input[type=email]{
  flex:1 1 220px;
  max-width:260px;
}

/* GALLERY */
.inspiration-quotes{
  display:flex;
  gap:24px;
  flex-wrap:wrap;
  margin:20px 0 24px 0;
}
.inspiration-quotes blockquote{
  background:var(--primary);
  border-radius:11px;
  border-left:4px solid var(--secondary);
  padding:17px 21px 12px 21px;
  min-width:220px;
  transition:box-shadow .17s;
}
.inspiration-quotes blockquote:hover{box-shadow:0 3px 13px 0 rgba(242,153,198,0.16);}

/* THANK YOU PAGE */
.thank-you{
  background:linear-gradient(92deg,#2D2946 70%, #444452 100%);
  border-radius:22px;
  box-shadow:0 1px 31px 0 rgba(31,32,38,0.10);
  padding-top:42px;
  padding-bottom:42px;
  margin-top:40px;
}
.next-steps-info{margin:21px 0 23px 0;}

/* PRIVACY, TERMS, SIMPLE TEXT SECTIONS */
.privacy-policy,.cookies-policy,.gdpr,.terms,.regulamin{
  background:var(--primary);
  border-radius:12px;
  box-shadow:0 1px 13px 0 rgba(40,39,49,0.10);
  padding:30px 14px;
  margin-bottom:36px;
}
.policy-sections>h2{color:var(--secondary);font-size:1.08rem;}
.policy-sections ul, .user-rights ul, .data-handling ul,.limitations-and-rights ul{
  margin:9px 0 18px 0; padding-left:12px;
}

/* FOOTER */
footer{
  background:var(--industrial-dark);
  padding:36px 0 17px 0;
  border-top:2px solid var(--metal-dark);
  color:var(--accent);
}
footer .container{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.footer-nav{
  display:flex;
  gap:32px;
  flex-wrap:wrap;
  margin-bottom:15px;
  justify-content:center;
}
.footer-nav a{
  color:var(--secondary);
  font-size:0.99rem;
  letter-spacing:0.03em;
  transition:color .15s;
}
.footer-nav a:hover{color:var(--accent);}
.footer-info{
  display:flex;
  gap:18px;
  flex-direction:column;
  align-items:center;
  font-size:0.93rem;
}
.footer-info img{width:34px;height:auto;margin-bottom:2px;}

/* GENERAL UTILITIES */
.link{
  color:var(--secondary);
  border-bottom:1.5px solid var(--secondary);
  font-weight:600;
  padding-bottom:2px;
  transition:border-color .18s, color .18s;
}
.link:hover,.link:focus{color:var(--accent);border-color:var(--accent);}

/* SCROLLBAR - INDUSTRIAL DARK */
::-webkit-scrollbar{width:11px;}
::-webkit-scrollbar-thumb{background:#363647;border-radius:7px;}
::-webkit-scrollbar-track{background:var(--primary);}

/* RESPONSIVE */
@media(max-width:1024px){
  .container{max-width:100vw;}
  .feature-grid,.service-list,.steps,.testimonial-slider,.content-grid{gap:15px;}
  .footer-nav{gap:14px;}
}
@media(max-width:768px){
  .feature-grid, .service-list, .steps, .testimonial-slider, .content-grid{
    flex-direction:column;
    gap:13px;
  }
  .testimonial-card,.service-list li,.feature-grid>div,.steps li{max-width:98vw;}
  .footer-info, .footer-nav{flex-direction:column;align-items:center;gap:8px;}
  .contact-details{flex-direction:column;gap:15px;}
  .text-image-section{flex-direction:column;gap:13px;}
  .about, .privacy-policy, .gdpr, .terms, .cookies-policy{padding:15px 6px;}
}
@media(max-width:480px){
  html{font-size:0.92rem;}
  .footer-info{font-size:0.85rem;}
  .cta h2{font-size:1.19rem;}
  header .container{min-height:52px;gap:12px;}
}

/* HOVER/FOCUS BUTTON MICROINTERACTIONS */
button,.cta-btn, input[type=submit]{
  transition:background .20s, color .17s, box-shadow .20s, border-color .18s;
}
button:active,.cta-btn:active{transform:scale(0.97);}

/* COOKIE BANNER */
.cookie-banner{
  position:fixed;
  bottom:0;left:0;width:100vw;
  background:var(--metal-dark);
  color:var(--accent);
  display:flex;
  flex-direction:row;
  justify-content:space-between;
  align-items:center;
  gap:22px;
  box-shadow:0 -2px 32px 0 rgba(50,49,59,0.27);
  z-index:4200;
  padding:22px 24px;
  font-size:1.04rem;
  border-top:2.5px solid var(--secondary);
  transition:transform .42s cubic-bezier(.7,.17,.4,1);
}
.cookie-banner.hide{transform:translateY(120%);}
.cookie-banner .cookie-btn-group{
  display:flex;
  flex-direction:row;
  gap:14px;
  margin-left:auto;
}
.cookie-banner button{
  background:var(--secondary);
  color:var(--primary);
  border:none;
  padding:7px 17px;
  border-radius:5px;
  font-size:1rem;
  font-family:'Montserrat',Arial,sans-serif;
  font-weight:700;
  cursor:pointer;
  transition:background .21s, color .17s, box-shadow .18s;
  letter-spacing:0.04em;
}
.cookie-banner button:hover{
  background:var(--accent);
  color:var(--primary);
  box-shadow:0 2px 8px 0 rgba(246,246,248,0.12);
}
.cookie-banner .cookie-settings-btn{
  background:var(--primary);
  color:var(--secondary);
  border:1.1px solid var(--secondary);
}
.cookie-banner .cookie-settings-btn:hover{
  background:var(--secondary);
  color:var(--primary);
}
@media(max-width:768px){
  .cookie-banner{flex-direction:column;align-items:flex-start;gap:10px;padding:14px 7px;font-size:0.98rem;}
  .cookie-banner .cookie-btn-group{margin-left:0;gap:8px;}
}

/* COOKIE PREFERENCES MODAL */
.cookie-modal-overlay{
  position:fixed;top:0;left:0;right:0;bottom:0;
  background:rgba(45,41,70,0.82);
  z-index:4500;
  display:flex;
  justify-content:center;
  align-items:center;
  pointer-events:none;
  opacity:0;
  transition:opacity .27s;
}
.cookie-modal-overlay.show{pointer-events:auto;opacity:1;}
.cookie-modal{
  background:var(--industrial-dark);
  border-radius:14px;
  box-shadow:0 5px 38px 0 rgba(45,41,70,0.23);
  min-width:300px;
  max-width:97vw;
  padding:32px 24px 28px 24px;
  color:var(--accent);
  animation:modalFade .29s cubic-bezier(.67,.14,.45,1) 1;
  position:relative;
}
@keyframes modalFade{
  0%{transform:translateY(35px) scale(.96);opacity:0;}
  100%{transform:translateY(0) scale(1);opacity:1;}
}
.cookie-modal-close{
  position:absolute;
  right:17px;top:13px;
  background:none;
  border:none;
  color:var(--secondary);
  font-size:2rem;
  cursor:pointer;
  z-index:99;
  transition:color .18s;
}
.cookie-modal-close:hover{color:var(--accent);}
.cookie-modal h2{color:var(--secondary);font-size:1.18rem;}
.cookie-categories{
  display:flex;
  flex-direction:column;
  gap:16px;
  margin:22px 0 17px 0;
}
.cookie-category{
  display:flex;align-items:center;gap:10px;
  background:var(--primary);
  border-radius:7px;
  padding:13px 12px 11px 12px;
}
.cookie-category .switch{
  margin-left:auto;
}
.cookie-category input[type=checkbox]{width:35px;height:18px;accent-color:var(--secondary);}
.cookie-category .always-enabled{color:var(--metal);font-size:0.93rem;font-weight:600;}
.cookie-modal .actions{
  display:flex;gap:18px;margin-top:20px;}
.cookie-modal .actions button{
  background:var(--secondary);color:var(--primary);border:none;padding:8px 21px;border-radius:5px;font-size:1rem;font-weight:700;font-family:'Montserrat',Arial,sans-serif;cursor:pointer;transition:background .17s, color .17s;letter-spacing:0.03em;
}
.cookie-modal .actions button:hover{background:var(--accent);color:var(--primary);}

/* TRANSITIONS FOR TOGGLES & MENUS */
.transition{
  transition:all .28s cubic-bezier(.66,.12,.48,1);
}

/* FONTS (FROM GOOGLE) */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&family=Playfair+Display:wght@700&display=swap');

