/* ==========================================================================
   MURAL BRASIL — layout baseado no modelo Hubli, paleta do logo
   ========================================================================== */
:root{
  /* Paleta do logo */
  --navy:       #182979;   /* "MURAL" */
  --blue:       #053ea1;   /* azul royal */
  --sky:        #266fc8;   /* estrelas */
  --green:      #367739;   /* B */
  --lime:       #90b842;   /* S */
  --gold:       #e2a228;   /* R / I */

  /* Papéis no layout (no Hubli: verde-limão + cinzas escuros) */
  --accent:       var(--gold);     /* botões, destaques sobre fundo escuro */
  --accent-dark:  #c98a12;
  --accent-text:  var(--green);    /* destaques de texto sobre fundo claro */
  --on-accent:    var(--navy);     /* texto sobre botão dourado */
  --heading:      var(--navy);
  --dark-1:       #0e1850;         /* barra do topo / rodapé inferior */
  --dark-2:       #132066;         /* rodapé */
  --dark-3:       #182979;         /* seção de cards */
  --dark-card:    #24378f;         /* barra "read more" */
  --text:         #777777;
  --text-2:       #888888;
  --script-light: #d6dbec;         /* título manuscrito em fundo claro */
  --line:         #e2e4ee;
  --bg-soft:      #fbfbfb;
  --whatsapp:     #25d366;

  --font: 'Poppins', sans-serif;
  --script: 'Mr Dafoe', cursive;
}

*{ margin:0; padding:0; box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{ font-family:var(--font); font-size:14px; line-height:1.6em; color:var(--text); background:#fff; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
a{ text-decoration:none; color:var(--accent-text); transition:all 300ms ease; }
a:hover{ color:var(--navy); }
ul,li{ list-style:none; }
img{ display:inline-block; max-width:100%; height:auto; }
h1,h2,h3,h4,h5,h6{ position:relative; font-weight:normal; margin:0; background:none; line-height:1.6em; font-family:var(--font); color:var(--heading); }
button{ font-family:inherit; cursor:pointer; border:0; background:none; }
input,select,textarea{ font-family:inherit; }
svg.icon, .separator svg, .lb-sep svg{ fill:none; stroke:currentColor; stroke-width:1.3; stroke-linecap:round; stroke-linejoin:round; }
.page-wrapper{ position:relative; margin:0 auto; width:100%; min-width:300px; overflow-x:clip; }
.auto-container{ position:static; max-width:1200px; padding:0 15px; margin:0 auto; }

/* ---------- Preloader ---------- */
.preloader{ position:fixed; inset:0; z-index:999999; background:#fff; display:flex; align-items:center; justify-content:center; transition:opacity .5s ease, visibility .5s ease; }
.preloader span{ width:44px; height:44px; border-radius:50%; border:2px solid transparent; border-top-color:var(--accent); border-bottom-color:var(--green); animation:spin 1s linear infinite; }
.preloader.hide{ opacity:0; visibility:hidden; }
@keyframes spin{ to{ transform:rotate(360deg); } }

/* ---------- Botões (theme-btn) ---------- */
.theme-btn{ display:inline-block; text-align:center; border-radius:5px; transition:all 300ms ease; cursor:pointer; }
.btn-style-one{ position:relative; font-size:15px; line-height:30px; padding:10px 30px; color:var(--on-accent); font-weight:600; text-transform:capitalize; background-color:var(--accent); }
.btn-style-one:hover{ background:#fff; color:var(--navy); }
.btn-style-two{ position:relative; font-size:15px; line-height:30px; padding:8px 30px; color:var(--on-accent); font-weight:600; text-transform:capitalize; background-color:var(--accent); border:2px solid var(--accent); }
.btn-style-two:hover{ background:none; border-color:var(--accent); color:var(--accent-dark); }
.btn-style-four{ position:relative; font-size:15px; line-height:30px; padding:8px 30px; color:#fff; font-weight:600; text-transform:capitalize; background-color:var(--navy); border:2px solid var(--navy); }
.btn-style-four:hover{ background:#fff; border-color:#fff; color:var(--navy); }

/* ---------- Títulos de seção ---------- */
.sec-title{ position:relative; margin-bottom:75px; }
.sec-title .title{ position:relative; display:block; font-size:40px; line-height:1.2em; color:var(--script-light); font-weight:400; font-family:var(--script); margin-bottom:5px; }
.sec-title h2{ position:relative; font-size:40px; line-height:1.2em; color:var(--heading); font-weight:700; margin-bottom:10px; }
.sec-title .separator{ position:relative; display:inline-block; line-height:1em; color:var(--accent-text); width:50px; height:40px; }
.sec-title .separator svg{ position:relative; display:block; width:34px; height:34px; margin-left:auto; margin-top:2px; stroke-width:1.4; }
.sec-title.text-center{ text-align:center; }
.sec-title.text-center .separator svg{ margin:2px auto 0; }
.sec-title.text-center .separator::before{ position:absolute; right:100%; top:18px; content:""; background:var(--line) padding-box content-box; padding:2px 0 2px 7px; border-top:1px solid var(--line); width:115px; height:6px; }
.sec-title .separator::after{ position:absolute; left:100%; top:18px; content:""; background:var(--line) padding-box content-box; padding:2px 7px 2px 0; border-top:1px solid var(--line); width:115px; height:6px; }
.sec-title.light .title{ color:rgba(255,255,255,.45); }
.sec-title.light h2{ color:#fff; }
.sec-title.light .separator{ color:var(--accent); }
.sec-title.light .separator::after, .sec-title.light .separator::before{ background-color:rgba(255,255,255,.35); border-color:rgba(255,255,255,.35); }

/* ==========================================================================
   HEADER
   ========================================================================== */
.main-header{ position:relative; display:block; width:100%; z-index:999; }
.main-header .header-top{ position:relative; background-color:var(--dark-1); z-index:999; }
.main-header .header-top .auto-container{ display:flex; justify-content:space-between; align-items:center; }
.main-header .header-top .top-left ul{ display:flex; flex-wrap:wrap; }
.main-header .header-top .top-left ul li{ position:relative; margin-right:35px; font-size:13px; line-height:25px; color:#b9bfd8; padding:15px 0; font-weight:400; }
.main-header .header-top .top-left ul li:last-child{ margin-right:0; }
.main-header .header-top .top-left ul li a{ color:#b9bfd8; }
.main-header .header-top .top-left ul li a:hover{ color:var(--accent); }
.main-header .header-top .top-left ul li i{ margin-right:10px; font-size:14px; vertical-align:middle; color:var(--accent); }
.main-header .header-top .top-right{ position:relative; padding:14px 0; }
.social-icon-one{ display:flex; }
.social-icon-one li{ margin-left:7px; text-align:center; }
.social-icon-one li a{ position:relative; display:inline-block; height:28px; width:28px; line-height:28px; font-size:13px; color:#c8cde2; background-color:rgba(255,255,255,.12); border-radius:50%; }
.social-icon-one li a:hover{ color:var(--navy); background-color:var(--accent); }

.main-header .header-lower{ position:relative; background:#fff; box-shadow:0 1px 0 rgba(24,41,121,.06); }
.main-header .header-lower .auto-container{ display:flex; justify-content:space-between; align-items:center; }
.main-header .logo-outer{ padding:15px 0; flex-shrink:0; }
.main-header .logo img{ display:block; height:56px; width:auto; }
.main-header .nav-outer{ display:flex; align-items:center; }

.main-menu .navigation{ display:flex; margin:0; }
.main-menu .navigation > li{ position:relative; margin:0 22px; padding:28px 0; transition:all 300ms ease; }
.main-menu .navigation > li:first-child{ margin-left:0; }
.main-menu .navigation > li > a{ position:relative; display:block; font-size:15px; color:var(--navy); line-height:30px; font-weight:500; text-transform:capitalize; }
.main-menu .navigation > li.dropdown > a{ padding-right:15px; }
.main-menu .navigation > li.dropdown > a::after{ position:absolute; right:0; top:0; font-size:12px; line-height:30px; color:inherit; font-weight:900; font-family:"Font Awesome 6 Free"; content:"\f0d7"; }
.main-menu .navigation > li:hover > a, .main-menu .navigation > li.current > a{ color:var(--accent-text); }
.main-menu .navigation > li > ul{ position:absolute; left:0; top:120%; width:240px; padding:0; z-index:100; background:#fff; text-align:left; border-top:2px solid var(--navy); opacity:0; visibility:hidden; transition:all 300ms ease; box-shadow:2px 2px 5px 1px rgba(0,0,0,.05), -2px 0 5px 1px rgba(0,0,0,.05); }
.main-menu .navigation > li > ul > li{ position:relative; width:100%; border-bottom:1px solid rgba(0,0,0,.08); }
.main-menu .navigation > li > ul > li:last-child{ border-bottom:none; }
.main-menu .navigation > li > ul > li > a{ position:relative; display:block; padding:10px 15px; line-height:24px; font-weight:400; font-size:14px; text-transform:capitalize; color:#292929; }
.main-menu .navigation > li > ul > li:hover > a{ color:var(--navy); background:var(--accent); }
.main-menu .navigation > li.dropdown:hover > ul{ visibility:visible; opacity:1; top:100%; }
.main-menu .dropdown-btn{ display:none; }

.header-btn{ display:inline-flex; align-items:center; gap:8px; margin-left:20px; padding:10px 18px; border-radius:5px; background:var(--green); color:#fff; font-size:13px; font-weight:600; line-height:20px; white-space:nowrap; }
.header-btn i{ font-size:18px; }
.header-btn:hover{ background:var(--navy); color:#fff; }

.navbar-toggle{ display:none; width:44px; height:40px; border-radius:5px; background:var(--navy); padding:10px; flex-direction:column; justify-content:space-between; }
.navbar-toggle span{ display:block; height:2px; width:100%; background:#fff; border-radius:2px; transition:transform .3s ease, opacity .3s ease; }
.navbar-toggle.open span:nth-child(1){ transform:translateY(8px) rotate(45deg); }
.navbar-toggle.open span:nth-child(2){ opacity:0; }
.navbar-toggle.open span:nth-child(3){ transform:translateY(-8px) rotate(-45deg); }

/* Sticky */
.sticky-header{ position:fixed; visibility:hidden; opacity:0; left:0; top:0; width:100%; background:rgba(14,24,80,.92); z-index:0; box-shadow:0 5px 10px rgba(0,0,0,.1); transform:translateY(-100%); transition:all 300ms ease; backdrop-filter:blur(6px); }
.fixed-header .sticky-header{ z-index:999; opacity:1; visibility:visible; transform:none; }
.sticky-header .auto-container{ display:flex; align-items:center; justify-content:space-between; }
.sticky-header .logo img{ display:block; height:50px; width:auto; margin:10px 0; }
.sticky-header .main-menu .navigation > li{ margin:0 1px 0 0; padding:0; }
.sticky-header .main-menu .navigation > li > a{ color:#fff; padding:20px 15px; line-height:30px; font-size:15px; font-weight:500; }
.sticky-header .main-menu .navigation > li:hover > a, .sticky-header .main-menu .navigation > li.current > a{ background-color:var(--accent); color:var(--navy); }
.sticky-btn{ display:inline-flex; align-items:center; gap:7px; padding:8px 16px; border-radius:5px; background:var(--whatsapp); color:#fff; font-weight:600; font-size:13px; }
.sticky-btn:hover{ background:#fff; color:var(--navy); }

/* ==========================================================================
   SLIDER
   ========================================================================== */
.main-slider{ position:relative; height:max(600px, min(885px, 100vh)); overflow:hidden; background:var(--dark-1); }
.main-slider .slide{ position:absolute; inset:0; opacity:0; visibility:hidden; transition:opacity 1.1s ease, visibility 1.1s ease; }
.main-slider .slide.active{ opacity:1; visibility:visible; z-index:2; }
.main-slider .slide-bg{ position:absolute; inset:-60px 0; background-size:cover; background-position:center; transform:scale(1.12); transition:transform 7s ease-out; will-change:transform; }
.main-slider .slide.active .slide-bg{ transform:scale(1); }
.main-slider .slide::before{ content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg, rgba(14,24,80,.25) 0%, rgba(14,24,80,.45) 55%, rgba(14,24,80,.7) 100%); }
.main-slider .slide-content{ position:absolute; z-index:2; left:50%; top:50%; transform:translate(-50%,-38%); width:min(92%, 900px); text-align:center; }
.main-slider .title{ font-family:var(--script); font-size:60px; line-height:72px; color:var(--accent); font-weight:400; text-shadow:0 2px 18px rgba(0,0,0,.25); }
.main-slider h2{ font-size:65px; line-height:78px; color:#fff; font-weight:700; text-transform:uppercase; text-shadow:0 3px 24px rgba(0,0,0,.3); }
.main-slider .sub{ font-size:17px; line-height:28px; color:rgba(255,255,255,.92); margin:12px auto 0; max-width:620px; }
.main-slider .btns{ margin-top:32px; }
.main-slider .theme-btn{ min-width:160px; margin:0 5px 10px; }
.main-slider .slide-content > *{ opacity:0; transform:translateY(40px); transition:all .9s cubic-bezier(.2,.7,.2,1); }
.main-slider .slide.active .slide-content > *{ opacity:1; transform:none; }
.main-slider .slide.active .slide-content > :nth-child(1){ transition-delay:.35s; }
.main-slider .slide.active .slide-content > :nth-child(2){ transition-delay:.6s; }
.main-slider .slide.active .slide-content > :nth-child(3){ transition-delay:.85s; }
.main-slider .slide.active .slide-content > :nth-child(4){ transition-delay:1.05s; }
.slider-arrow{ position:absolute; z-index:5; top:50%; margin-top:-30px; width:60px; height:60px; background:#fff; color:var(--navy); font-size:20px; display:flex; align-items:center; justify-content:center; transition:all 300ms ease; }
.slider-arrow.prev{ left:0; }
.slider-arrow.next{ right:0; }
.slider-arrow:hover{ background:var(--accent); color:var(--navy); }

/* ==========================================================================
   SERVIÇOS (work section)
   ========================================================================== */
.work-section{ position:relative; padding:140px 0 50px; }
.work-section .sec-title{ margin-bottom:50px; }
.work-row{ display:grid; grid-template-columns:3fr 6fr 3fr; gap:30px; align-items:start; }
.work-block{ position:relative; display:block; margin-bottom:75px; }
.work-block .inner{ position:relative; text-align:right; }
.right-column .work-block .inner{ text-align:left; }
.work-block .icon{ position:relative; display:inline-block; width:44px; height:44px; color:var(--navy); margin-bottom:25px; stroke-width:1.2; }
.work-block h4{ position:relative; font-size:22px; line-height:1.2em; color:var(--heading); font-weight:500; margin-bottom:20px; }
.work-block h4 a{ color:var(--heading); }
.work-block h4 a:hover{ color:var(--accent-text); }
.work-block p{ font-size:14px; line-height:24px; color:var(--text-2); margin-bottom:20px; }
.work-block .read-more{ position:relative; display:block; font-size:15px; line-height:1.2em; color:var(--accent-text); font-weight:600; text-transform:uppercase; }
.work-block .read-more:hover{ color:var(--navy); }
.center-image .inner-box{ position:relative; text-align:center; padding-top:55px; }
.center-image .image{ position:relative; display:inline-block; width:100%; max-width:520px; }
.center-image .blob{ position:relative; display:block; aspect-ratio:1/1; overflow:hidden; border-radius:58% 42% 47% 53% / 46% 52% 48% 54%; animation:blob 12s ease-in-out infinite; box-shadow:inset 0 0 0 10px rgba(255,255,255,.0); z-index:1; }
.center-image .blob img{ width:100%; height:100%; object-fit:cover; display:block; transform:scale(1.05); }
.center-image .shadow{ position:relative; display:block; width:70%; height:46px; margin:18px auto 0; border-radius:50%; background:radial-gradient(ellipse at center, rgba(14,24,80,.28) 0%, rgba(14,24,80,.08) 55%, rgba(14,24,80,0) 72%); animation:shadow 12s ease-in-out infinite; }
@keyframes blob{
  0%,100%{ border-radius:58% 42% 47% 53% / 46% 52% 48% 54%; transform:translateY(0); }
  50%{ border-radius:45% 55% 60% 40% / 55% 42% 58% 45%; transform:translateY(-12px); }
}
@keyframes shadow{ 0%,100%{ transform:scaleX(1); opacity:1; } 50%{ transform:scaleX(.88); opacity:.75; } }

/* ==========================================================================
   FALE COM O MURALISTA (video section)
   ========================================================================== */
.video-section{ position:relative; background-repeat:no-repeat; background-position:center; background-size:cover; padding:180px 0; }
.video-section::before{ position:absolute; inset:0; background-color:rgba(19,32,102,.9); content:""; }
.video-section .content-box{ position:relative; text-align:center; }
.video-section .content-box h2{ position:relative; font-size:40px; line-height:1.2em; font-weight:400; color:#fff; margin-bottom:45px; letter-spacing:1px; font-family:var(--script); }
.video-section .content-box .video-link a{ position:relative; display:inline-flex; align-items:center; justify-content:center; height:85px; width:85px; border:3px solid #fff; font-size:34px; border-radius:50%; color:#fff; transition:all 700ms ease; }
.video-section .content-box .video-link a::after{ content:""; position:absolute; inset:-3px; border-radius:50%; border:3px solid rgba(255,255,255,.5); animation:ripple 2.2s ease-out infinite; }
.video-section .content-box .video-link a:hover{ color:var(--accent); border-color:var(--accent); }
@keyframes ripple{ 0%{ transform:scale(1); opacity:.9; } 100%{ transform:scale(1.7); opacity:0; } }
.parallax{ background-attachment:fixed; }

/* ==========================================================================
   SOBRE (about section style two)
   ========================================================================== */
.about-section{ position:relative; padding:125px 0 100px; }
.about-row{ display:grid; grid-template-columns:1fr 1fr; gap:30px; align-items:start; }
.about-section .image-column .inner-box{ margin-right:-35px; }
.about-section .image-column img{ display:block; width:100%; aspect-ratio:600/680; object-fit:cover; }
.about-section .content-column{ margin-bottom:30px; }
.about-section .content-column .inner-box{ padding-left:70px; }
.about-section .content-column .sec-title{ margin-bottom:35px; }
.about-section .content-column .sec-title h2{ font-size:40px; line-height:1.45em; }
.about-section .content-column p{ font-size:14px; line-height:24px; color:var(--text-2); margin-bottom:25px; }

/* ==========================================================================
   INSPIRAÇÕES (gallery masonry)
   ========================================================================== */
.gallery-masonry{ position:relative; padding:150px 0 120px; background-color:var(--bg-soft); }
.gallery-masonry .sec-title{ margin-bottom:45px; }
.filter-tabs{ display:flex; flex-wrap:wrap; justify-content:center; margin-bottom:50px; }
.filter-tabs li{ position:relative; display:inline-block; margin:0 2px 5px; font-size:15px; color:var(--text-2); line-height:20px; padding:10px 32px; font-weight:500; cursor:pointer; border-radius:4px; transition:all 300ms ease; }
.filter-tabs li.active, .filter-tabs li:hover{ background-color:var(--accent); color:var(--navy); }
.gallery-grid{ display:grid; grid-template-columns:repeat(3,1fr); grid-auto-rows:325px; grid-auto-flow:dense; gap:30px; }
.gallery-item{ position:relative; transition:opacity .45s ease, transform .45s ease; }
.gallery-item.size-w{ grid-column:span 2; }
.gallery-item.size-t{ grid-row:span 2; }
.gallery-item.hidden{ display:none; }
.gallery-item.fade-in{ animation:galIn .5s ease both; }
@keyframes galIn{ from{ opacity:0; transform:scale(.94); } to{ opacity:1; transform:none; } }
.gallery-item .inner-box{ position:relative; overflow:hidden; height:100%; cursor:pointer; }
.gallery-item .inner-box::before{ position:absolute; right:-10%; top:0; height:100%; width:100%; background-color:var(--dark-1); opacity:0; content:""; z-index:1; transition:all 300ms ease; }
.gallery-item:hover .inner-box::before{ right:0; opacity:.82; }
.gallery-item .image{ position:relative; height:100%; }
.gallery-item .image img{ display:block; width:100%; height:100%; object-fit:cover; transition:transform .8s ease; }
.gallery-item:hover .image img{ transform:scale(1.06); }
.gallery-item .caption-box{ position:absolute; left:0; width:100%; bottom:0; z-index:9; padding:0 40px 50px; }
.gallery-item .caption-box .inner{ position:relative; overflow:hidden; }
.gallery-item .caption-box .icon-box{ position:absolute; width:100%; z-index:1; right:50px; bottom:20px; opacity:0; visibility:hidden; }
.gallery-item:hover .caption-box .icon-box{ opacity:1; visibility:visible; transition:all 300ms ease; }
.gallery-item .caption-box .icon-box span{ position:relative; float:right; display:inline-block; text-align:center; font-size:15px; height:40px; width:40px; line-height:38px; color:var(--accent); border:1px solid rgba(255,255,255,.3); border-radius:50%; }
.gallery-item:hover .caption-box .icon-box span{ transform:rotate(360deg); transition:all 500ms ease; transition-delay:300ms; }
.gallery-item .caption-box .icon-box::after, .gallery-item .caption-box .icon-box::before{ position:absolute; right:40px; top:20px; width:0; content:""; border-bottom:1px solid rgba(255,255,255,.3); }
.gallery-item:hover .caption-box .icon-box::before{ width:100%; transition:all 700ms ease; transition-delay:600ms; }
.gallery-item .caption-box .icon-box::after{ right:-50px; }
.gallery-item:hover .caption-box .icon-box::after{ width:50px; transition:all 300ms ease; transition-delay:300ms; }
.gallery-item .caption-box .title{ position:relative; width:0; overflow:hidden; }
.gallery-item .caption-box .title h3{ position:relative; font-size:28px; line-height:1.2em; color:var(--accent); min-width:340px; font-family:var(--script); margin-bottom:22px; white-space:nowrap; }
.gallery-item:hover .caption-box .title{ width:100%; transition:all 600ms ease; transition-delay:300ms; }
.gallery-item .caption-box h4{ position:relative; font-size:20px; line-height:1.2em; color:#fff; font-weight:700; transform:translateY(110%); }
.gallery-item:hover .caption-box h4{ transform:translateY(0); transition:all 300ms ease; transition-delay:900ms; }

/* ==========================================================================
   NÚMEROS (fact counter)
   ========================================================================== */
.fact-counter-section{ position:relative; background-position:center; background-repeat:no-repeat; background-size:cover; padding:135px 0 150px; }
.fact-counter-section::before{ position:absolute; inset:0; background-color:rgba(11,19,64,.86); content:""; }
.fact-counter-section .auto-container{ position:relative; }
.fact-counter-section .sec-title{ margin-bottom:55px; }
.fact-counter-section .sec-title h3{ position:relative; font-size:35px; line-height:50px; color:#e4e7f2; font-weight:400; margin-bottom:20px; }
.fact-counter-section .sec-title h3 span{ position:relative; display:inline-block; font-weight:700; color:var(--accent); }
.fact-counter{ position:relative; display:grid; grid-template-columns:repeat(4,1fr); margin:0 -45px; border:1px solid rgba(255,255,255,.1); }
.fact-counter .counter-column .inner{ position:relative; background-color:rgba(255,255,255,.05); padding:80px 15px 70px; text-align:center; border:1px solid rgba(255,255,255,.1); height:100%; transition:background-color .4s ease; }
.fact-counter .counter-column .inner:hover{ background-color:rgba(226,162,40,.08); }
.counter-column .icon{ position:relative; display:block; width:80px; height:80px; margin:0 auto 35px; color:#fff; stroke-width:.9; }
.counter-column .count-text{ position:relative; display:inline-block; font-size:47px; line-height:1em; color:#fff; font-weight:700; padding-bottom:16px; margin-bottom:15px; }
.counter-column .plus{ font-size:40px; line-height:1em; color:#fff; font-weight:700; margin-left:4px; vertical-align:top; }
.counter-column .count-text::before{ position:absolute; left:50%; bottom:0; margin-left:-14px; height:1px; width:28px; background-color:rgba(255,255,255,.45); content:""; }
.counter-column .counter-title{ position:relative; font-size:15px; line-height:1.2em; color:var(--accent); font-weight:500; text-transform:uppercase; }

/* ==========================================================================
   DEPOIMENTOS (testimonial style two)
   ========================================================================== */
.testimonial-section{ position:relative; padding:150px 0; background:#fff; }
.testimonial-carousel{ position:relative; text-align:center; max-width:1000px; margin:0 auto; }
.testimonial-carousel .track{ position:relative; display:grid; }
.testimonial-carousel .slide-item{ grid-area:1/1; opacity:0; visibility:hidden; transform:translateX(40px); transition:all .7s ease; }
.testimonial-carousel .slide-item.active{ opacity:1; visibility:visible; transform:none; }
.testimonial-carousel .slide-item.leaving{ transform:translateX(-40px); }
.testimonial-carousel .name{ font-size:22px; font-weight:500; line-height:1.2em; color:var(--heading); margin-bottom:25px; }
.testimonial-carousel p{ font-size:20px; font-style:italic; line-height:35px; color:var(--text-2); font-weight:300; margin-bottom:25px; }
.testimonial-carousel .icon{ position:relative; display:block; font-size:36px; color:var(--sky); opacity:.55; }
.testimonial-section .owl-nav{ position:absolute; left:0; top:50%; margin-top:-25px; width:100%; pointer-events:none; }
.testimonial-section .owl-prev, .testimonial-section .owl-next{ position:absolute; width:50px; height:50px; line-height:50px; font-size:22px; text-align:center; color:var(--navy); border-radius:50%; background-color:#eef0f7; transition:all 300ms ease; pointer-events:auto; }
.testimonial-section .owl-prev{ left:-130px; }
.testimonial-section .owl-next{ right:-130px; }
.testimonial-section .owl-prev:hover, .testimonial-section .owl-next:hover{ background-color:var(--navy); color:#fff; }

/* ==========================================================================
   AMBIENTES (news section two)
   ========================================================================== */
.news-section-two{ position:relative; padding:140px 0 100px; background-color:var(--dark-3); }
.news-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:0 30px; }
.news-block-two{ position:relative; margin-bottom:50px; }
.news-block-two .inner-box{ position:relative; border-radius:5px; overflow:hidden; height:100%; display:flex; flex-direction:column; transition:transform .4s ease, box-shadow .4s ease; }
.news-block-two:hover .inner-box{ transform:translateY(-6px); box-shadow:0 18px 40px rgba(0,0,0,.25); }
.news-block-two .inner-box .date{ position:absolute; left:30px; top:30px; font-size:15px; line-height:20px; color:var(--accent); display:inline-block; z-index:1; font-weight:500; text-shadow:0 1px 8px rgba(0,0,0,.5); }
.news-block-two .image-box{ position:relative; overflow:hidden; }
.news-block-two .image-box::after{ content:""; position:absolute; inset:0 0 auto 0; height:45%; background:linear-gradient(180deg, rgba(0,0,0,.45), rgba(0,0,0,0)); }
.news-block-two .image-box img{ display:block; width:100%; aspect-ratio:370/295; object-fit:cover; transition:transform .8s ease; }
.news-block-two:hover .image-box img{ transform:scale(1.06); }
.news-block-two .caption-box{ position:relative; background-color:#fff; padding:35px; flex:1; }
.news-block-two .caption-box h3{ position:relative; font-size:18px; line-height:1.2em; color:var(--heading); font-weight:500; margin-bottom:10px; }
.news-block-two .caption-box p{ position:relative; font-size:14px; line-height:24px; color:var(--text-2); }
.news-block-two .read-more{ position:relative; display:block; font-size:15px; line-height:20px; color:#fefefe; font-weight:600; text-transform:uppercase; padding:15px 0; text-align:center; background-color:var(--dark-card); }
.news-block-two:hover .read-more{ background-color:var(--accent); color:var(--navy); }

/* ==========================================================================
   COMO FUNCIONA
   ========================================================================== */
.process-section{ position:relative; padding:140px 0 110px; background:#fff; }
.process-section .sec-title{ margin-bottom:60px; }
.process-row{ display:grid; grid-template-columns:repeat(5,1fr); border:1px solid #eceef5; }
.process-column .inner{ position:relative; height:100%; text-align:center; padding:55px 20px 50px; border:1px solid #eceef5; transition:all .4s ease; }
.process-column .inner::after{ content:""; position:absolute; left:0; top:-1px; height:3px; width:0; background:linear-gradient(90deg, var(--green), var(--gold), var(--blue)); transition:width .5s ease; }
.process-column .inner:hover{ background:var(--bg-soft); }
.process-column .inner:hover::after{ width:100%; }
.process-column .num{ position:relative; display:inline-block; font-size:47px; line-height:1em; color:var(--navy); font-weight:700; padding-bottom:16px; margin-bottom:18px; }
.process-column .num::before{ position:absolute; left:50%; bottom:0; margin-left:-14px; height:1px; width:28px; background-color:#c5cadf; content:""; }
.process-column h4{ font-size:15px; line-height:1.3em; color:var(--accent-text); font-weight:500; text-transform:uppercase; margin-bottom:12px; }
.process-column p{ font-size:14px; line-height:22px; color:var(--text-2); }

/* ==========================================================================
   ORÇAMENTO (contact page section)
   ========================================================================== */
.contact-page-section{ position:relative; display:block; padding:140px 0 100px; background:var(--bg-soft); }
.contact-row{ display:grid; grid-template-columns:1fr 1fr; gap:30px; }
.contact-page-section .form-column, .contact-page-section .info-column{ position:relative; margin-bottom:50px; }
.contact-page-section .form-column .inner-column{ padding-right:10px; }
.contact-page-section .info-column .inner-column{ padding-left:10px; }
.contact-page-section .form-column .sec-title{ margin-bottom:25px; }
.contact-page-section .form-column > .inner-column > p{ position:relative; font-size:14px; line-height:24px; color:var(--text-2); margin-bottom:35px; }
.contact-form{ position:relative; }
.contact-form .hp{ position:absolute; left:-9999px; width:1px; height:1px; opacity:0; }
.contact-form .grid{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.contact-form .form-group{ position:relative; }
.contact-form .form-group.full{ grid-column:1/-1; }
.contact-form input[type=text], .contact-form input[type=tel], .contact-form textarea, .contact-form select{ position:relative; display:block; width:100%; height:46px; font-size:13px; line-height:22px; color:#555; font-weight:400; padding:10px 15px; background:#fff; border:2px solid #eceef3; border-radius:0; outline:none; transition:all 300ms ease; }
.contact-form select{ appearance:none; background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23182979' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 15px center; cursor:pointer; color:#777; }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus{ border-color:var(--accent); }
.contact-form textarea{ height:130px; resize:vertical; }
.contact-form .error{ border-color:#d93025 !important; }
.contact-form .lbl{ display:block; font-size:13px; font-weight:600; color:var(--navy); margin-bottom:8px; text-transform:uppercase; letter-spacing:.3px; }
.contact-form .medidas{ display:flex; align-items:center; gap:8px; }
.contact-form .medidas span{ color:var(--text-2); font-weight:600; }
.toggle-group{ display:flex; height:46px; border:2px solid #eceef3; background:#fff; }
.toggle-group label{ flex:1; position:relative; cursor:pointer; }
.toggle-group input{ position:absolute; opacity:0; pointer-events:none; }
.toggle-group span{ display:flex; height:100%; align-items:center; justify-content:center; font-size:13px; color:#777; font-weight:500; transition:all .3s ease; }
.toggle-group input:checked + span{ background:var(--navy); color:#fff; }
.toggle-group input:focus-visible + span{ outline:2px solid var(--accent); outline-offset:-4px; }
.chips{ display:flex; flex-wrap:wrap; gap:8px; }
.chips label{ position:relative; cursor:pointer; }
.chips input{ position:absolute; opacity:0; pointer-events:none; }
.chips span{ display:inline-block; padding:7px 16px; border:2px solid #eceef3; background:#fff; font-size:13px; font-weight:500; color:#666; border-radius:4px; transition:all .3s ease; }
.chips input:checked + span{ background:var(--accent); border-color:var(--accent); color:var(--navy); }
.chips input:focus-visible + span{ outline:2px solid var(--navy); outline-offset:2px; }
.palettes{ display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.palettes label{ position:relative; cursor:pointer; }
.palettes input{ position:absolute; opacity:0; pointer-events:none; }
.palettes .pal{ display:block; padding:6px; background:#fff; border:2px solid #eceef3; border-radius:4px; transition:all .3s ease; }
.palettes .sw{ display:flex; height:18px; border-radius:2px; overflow:hidden; }
.palettes .sw i{ flex:1; }
.palettes small{ display:block; font-size:11px; line-height:1.3; color:#666; margin-top:5px; text-align:center; font-weight:500; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.palettes input:checked + .pal{ border-color:var(--navy); box-shadow:0 0 0 1px var(--navy); }
.palettes input:focus-visible + .pal{ outline:2px solid var(--accent); outline-offset:2px; }
.file-drop{ display:flex; align-items:center; gap:15px; padding:16px 18px; border:2px dashed #cfd4e6; background:#fff; cursor:pointer; transition:all .3s ease; position:relative; }
.file-drop:hover, .file-drop.drag{ border-color:var(--accent); background:#fffaf0; }
.file-drop input{ position:absolute; opacity:0; width:1px; height:1px; }
.file-drop > i{ font-size:22px; color:var(--navy); width:46px; height:46px; border-radius:50%; background:#eef0f7; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.file-drop .file-txt strong{ display:block; font-size:14px; color:var(--navy); font-weight:600; line-height:1.4; }
.file-drop .file-txt small{ display:block; font-size:12px; color:var(--text-2); line-height:1.5; }
.file-drop.has-file > i{ background:var(--green); color:#fff; }
.contact-form button[type=submit]{ min-width:160px; text-transform:uppercase; padding:8px 25px; font-weight:600; }
.contact-form button[type=submit] i{ margin-left:6px; transition:transform .3s ease; }
.contact-form button[type=submit]:hover i{ transform:translateX(4px); }
.contact-form button[disabled]{ opacity:.7; cursor:wait; }
.form-msg{ display:block; margin-top:12px; font-size:13px; line-height:1.5; }
.form-msg.ok{ color:var(--green); }
.form-msg.err{ color:#d93025; }

.preview-area{ position:relative; margin-bottom:45px; }
.preview-mobile:empty{ display:none; }
.preview-mobile .preview-area{ margin-bottom:0; }
.preview-mobile .preview-head h3{ font-size:18px; }
.preview-head{ display:flex; justify-content:space-between; align-items:center; margin-bottom:15px; gap:10px; }
.preview-head h3{ font-size:25px; color:var(--heading); font-weight:500; line-height:1.3; }
.regen{ display:inline-flex; align-items:center; gap:7px; font-size:13px; font-weight:600; color:var(--navy); padding:8px 14px; border:2px solid var(--navy); border-radius:5px; transition:all .3s ease; white-space:nowrap; }
.regen:hover{ background:var(--navy); color:#fff; }
.preview-canvas{ position:relative; background:#fff; padding:8px; box-shadow:0 10px 35px rgba(24,41,121,.1); }
.preview-canvas canvas{ display:block; width:100%; height:auto; cursor:crosshair; touch-action:none; }
.preview-canvas .hint{ position:absolute; left:18px; bottom:18px; font-size:11px; color:#fff; background:rgba(14,24,80,.75); padding:5px 10px; border-radius:3px; pointer-events:none; transition:opacity .4s ease; }
.preview-canvas .hint.off{ opacity:0; }
.preview-note{ font-size:12px; line-height:20px; color:var(--text-2); margin-top:12px; }
.contact-page-section .contact-info{ display:grid; grid-template-columns:1fr 1fr; gap:0 30px; }
.contact-page-section .contact-info .column{ position:relative; margin-bottom:35px; }
.contact-page-section .contact-info h4{ position:relative; font-size:15px; line-height:1.2em; color:var(--heading); margin-bottom:7px; font-weight:500; }
.contact-page-section .contact-info p{ position:relative; font-size:14px; line-height:24px; color:var(--text); }
.contact-page-section .contact-info p a{ color:var(--text); }
.contact-page-section .contact-info p a:hover{ color:var(--accent-text); }

/* ==========================================================================
   FOOTER
   ========================================================================== */
.main-footer{ position:relative; background-color:var(--dark-2); color:#9aa2c4; }
.main-footer .widgets-section{ position:relative; padding:110px 0 70px; display:grid; grid-template-columns:3fr 2.3fr 3fr 2.7fr; gap:30px; }
.main-footer .footer-widget{ position:relative; margin-bottom:40px; }
.main-footer .footer-logo{ margin-bottom:25px; }
.main-footer .footer-logo img{ display:block; height:70px; width:auto; }
.main-footer .widget-title{ position:relative; font-size:20px; color:#fff; font-weight:600; text-transform:capitalize; margin-bottom:35px; line-height:1.2em; }
.main-footer .about-widget{ padding-right:30px; }
.main-footer .about-widget .contact-info{ margin-bottom:15px; }
.main-footer .about-widget .contact-info li{ font-size:14px; line-height:30px; color:#9aa2c4; }
.main-footer .about-widget .contact-info li a{ color:#9aa2c4; word-break:break-word; }
.main-footer .about-widget .contact-info li a:hover{ color:#fff; }
.social-icon-two{ display:flex; margin-top:10px; }
.social-icon-two li{ margin-right:7px; text-align:center; }
.social-icon-two li a{ display:inline-block; height:28px; width:28px; line-height:28px; font-size:13px; color:var(--accent); background-color:rgba(255,255,255,.08); border-radius:50%; }
.social-icon-two li a:hover{ color:var(--navy); background-color:var(--accent); }
.main-footer .links-widget .list li{ position:relative; padding-left:20px; display:block; }
.main-footer .links-widget .list li::before{ position:absolute; left:0; top:0; font-size:12px; color:var(--accent); line-height:20px; content:"\f105"; font-family:"Font Awesome 6 Free"; font-weight:900; }
.main-footer .links-widget .list li a{ position:relative; display:inline-block; font-size:14px; line-height:20px; color:#9aa2c4; margin-bottom:20px; }
.main-footer .links-widget .list li a:hover{ color:#fff; }
.main-footer .post-widget .post{ position:relative; padding:0 0 12px 20px; margin-bottom:12px; border-bottom:1px solid rgba(255,255,255,.1); }
.main-footer .post-widget .post:last-child{ border:0; margin-bottom:0; }
.main-footer .post-widget .post::before{ position:absolute; left:0; top:0; font-size:12px; color:var(--accent); line-height:22px; content:"\f105"; font-family:"Font Awesome 6 Free"; font-weight:900; }
.main-footer .post-widget .post h3{ font-size:14px; line-height:22px; color:#9aa2c4; font-weight:400; }
.main-footer .post-widget .post h3 a{ color:#9aa2c4; }
.main-footer .post-widget .post h3 a:hover{ color:#fff; }
.main-footer .post-widget .post span{ display:inline-block; font-size:11px; color:var(--accent); line-height:1.4em; }
.main-footer .gallery-widget p{ font-size:14px; line-height:24px; color:#9aa2c4; margin-bottom:15px; }
.insta-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:6px; margin-bottom:20px; }
.insta-grid a{ display:block; overflow:hidden; border-radius:3px; }
.insta-grid img{ display:block; width:100%; aspect-ratio:1/1; object-fit:cover; transition:transform .5s ease, opacity .3s ease; }
.insta-grid a:hover img{ transform:scale(1.1); opacity:.85; }
.footer-cta{ font-size:13px; padding:6px 20px; }
.main-footer .footer-bottom{ position:relative; padding:20px 0; background-color:var(--dark-1); }
.main-footer .footer-bottom .auto-container{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; }
.main-footer .footer-bottom .copyright-text{ line-height:30px; font-size:14px; color:#9aa2c4; }
.main-footer .footer-bottom .bottom-links{ display:flex; }
.main-footer .footer-bottom .bottom-links li{ margin-left:30px; line-height:30px; }
.main-footer .footer-bottom .bottom-links li a{ font-size:14px; color:var(--accent); }
.main-footer .footer-bottom .bottom-links li a:hover{ color:#fff; }

/* ==========================================================================
   LIGHTBOX
   ========================================================================== */
.lightbox{ position:fixed; inset:0; z-index:99999; display:flex; align-items:center; justify-content:center; padding:30px; opacity:0; visibility:hidden; transition:all .35s ease; }
.lightbox.open{ opacity:1; visibility:visible; }
.lb-backdrop{ position:absolute; inset:0; background:rgba(9,15,48,.92); }
.lb-box{ position:relative; display:grid; grid-template-columns:1.55fr 1fr; width:min(1140px,100%); max-height:calc(100vh - 60px); background:#fff; border-radius:5px; overflow:hidden; transform:translateY(25px) scale(.97); transition:transform .4s ease; box-shadow:0 30px 80px rgba(0,0,0,.4); }
.lightbox.open .lb-box{ transform:none; }
.lb-image{ background:#0b1340; display:flex; align-items:center; justify-content:center; min-height:300px; }
.lb-image img{ display:block; width:100%; height:100%; max-height:calc(100vh - 60px); object-fit:cover; transition:opacity .3s ease; }
.lb-image img.loading{ opacity:.25; }
.lb-info{ padding:50px 45px; overflow-y:auto; }
.lb-tag{ display:inline-block; font-size:13px; font-weight:600; color:var(--navy); background:var(--accent); padding:3px 12px; border-radius:3px; text-transform:uppercase; letter-spacing:.4px; margin-bottom:15px; }
.lb-title{ font-size:30px; line-height:1.2em; font-weight:700; color:var(--heading); }
.lb-sep{ color:var(--accent-text); margin:14px 0 18px; display:flex; align-items:center; gap:10px; }
.lb-sep svg{ width:26px; height:26px; }
.lb-sep::after{ content:""; flex:0 0 90px; height:1px; background:var(--line); }
.lb-desc{ font-size:15px; line-height:26px; color:var(--text); margin-bottom:25px; }
.lb-meta{ margin-bottom:30px; border-top:1px solid #eef0f5; }
.lb-meta li{ display:flex; justify-content:space-between; gap:15px; padding:12px 0; border-bottom:1px solid #eef0f5; font-size:14px; }
.lb-meta strong{ color:var(--navy); font-weight:600; }
.lb-meta span{ color:var(--text); text-align:right; }
.lb-cta i{ margin-right:6px; }
.lb-close{ position:absolute; right:12px; top:12px; z-index:3; width:40px; height:40px; border-radius:50%; background:#fff; color:var(--navy); font-size:18px; box-shadow:0 4px 14px rgba(0,0,0,.15); transition:all .3s ease; }
.lb-close:hover{ background:var(--navy); color:#fff; }
.lb-nav{ position:absolute; z-index:3; top:50%; margin-top:-25px; width:50px; height:50px; background:#fff; color:var(--navy); font-size:20px; transition:all .3s ease; }
.lb-prev{ left:0; }
.lb-next{ left:calc(60.8% - 50px); }
.lb-nav:hover{ background:var(--accent); }

/* ==========================================================================
   FLUTUANTES
   ========================================================================== */
.whatsapp-float{ position:fixed; right:30px; bottom:30px; z-index:9999; display:flex; align-items:center; height:60px; min-width:60px; border-radius:30px; background:var(--whatsapp); color:#fff; box-shadow:0 8px 25px rgba(37,211,102,.45); overflow:hidden; transition:all .35s ease; }
.whatsapp-float i{ font-size:32px; width:60px; text-align:center; flex-shrink:0; }
.whatsapp-float span{ max-width:0; white-space:nowrap; font-weight:600; font-size:14px; overflow:hidden; transition:max-width .45s ease, padding .45s ease; }
.whatsapp-float:hover{ color:#fff; background:#1ebe5b; }
.whatsapp-float:hover span{ max-width:220px; padding-right:24px; }
.whatsapp-float::before{ content:""; position:absolute; left:0; top:0; width:60px; height:60px; border-radius:50%; background:var(--whatsapp); z-index:-1; animation:pulse 2s ease-out infinite; }
@keyframes pulse{ 0%{ transform:scale(1); opacity:.7; } 100%{ transform:scale(1.6); opacity:0; } }
.scroll-to-top{ position:fixed; bottom:105px; right:35px; width:50px; height:50px; color:var(--accent); font-size:24px; line-height:50px; text-align:center; z-index:100; background:var(--navy); border-radius:50%; box-shadow:0 0 0 2px rgba(226,162,40,.55), 0 6px 18px rgba(0,0,0,.18); opacity:0; visibility:hidden; transform:translateY(15px); transition:all 300ms ease; }
.scroll-to-top.show{ opacity:1; visibility:visible; transform:none; }
.scroll-to-top:hover{ background:var(--accent); color:var(--navy); }

/* ==========================================================================
   ANIMAÇÕES DE ENTRADA (wow)
   ========================================================================== */
.wow{ opacity:0; transition:opacity .9s ease, transform .9s cubic-bezier(.2,.7,.2,1); }
.wow[data-anim="fadeInUp"]{ transform:translateY(50px); }
.wow[data-anim="fadeInLeft"]{ transform:translateX(-50px); }
.wow[data-anim="fadeInRight"]{ transform:translateX(50px); }
.wow[data-anim="zoomIn"]{ transform:scale(.85); }
.wow.animated{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{ animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
  .wow{ opacity:1; transform:none; }
}

/* ==========================================================================
   RESPONSIVO
   ========================================================================== */
@media (max-width:1399px){
  .testimonial-section .owl-prev{ left:-70px; }
  .testimonial-section .owl-next{ right:-70px; }
}
@media (max-width:1240px){
  .fact-counter{ margin:0; }
  .main-menu .navigation > li{ margin:0 15px; }
  .header-btn{ padding:10px 14px; }
}
@media (max-width:1150px){
  .navbar-toggle{ display:flex; order:2; margin-left:12px; }
  .main-header .header-lower .main-menu{ position:absolute; left:0; right:0; top:100%; background:var(--dark-1); max-height:0; overflow:hidden; transition:max-height .45s ease; box-shadow:0 15px 30px rgba(0,0,0,.15); }
  .main-header .header-lower .main-menu.open{ max-height:80vh; overflow-y:auto; }
  .main-header .header-lower .navigation{ display:block; padding:10px 15px 20px; }
  .main-header .header-lower .navigation > li{ margin:0; padding:0; border-bottom:1px solid rgba(255,255,255,.08); }
  .main-header .header-lower .navigation > li > a{ color:#fff; padding:12px 5px; }
  .main-header .header-lower .navigation > li.dropdown > a::after{ display:none; }
  .main-header .header-lower .navigation > li.current > a, .main-header .header-lower .navigation > li:hover > a{ color:var(--accent); }
  .main-header .header-lower .navigation > li > ul{ position:static; width:100%; opacity:1; visibility:visible; display:none; border-top:0; box-shadow:none; background:rgba(255,255,255,.04); }
  .main-header .header-lower .navigation > li > ul.open{ display:block; }
  .main-header .header-lower .navigation > li > ul > li > a{ color:#c8cde2; padding-left:20px; }
  .main-header .header-lower .navigation > li > ul > li{ border-color:rgba(255,255,255,.06); }
  .main-menu .dropdown-btn{ display:block; position:absolute; right:0; top:6px; width:42px; height:42px; color:#fff; font-size:16px; border-radius:4px; }
  .main-menu .dropdown-btn.open i{ transform:rotate(180deg); }
  .main-menu .dropdown-btn i{ transition:transform .3s ease; }
  .main-header .header-lower{ position:relative; }
  .sticky-header .main-menu{ display:none; }
}
@media (max-width:991px){
  .wow[data-anim="fadeInLeft"], .wow[data-anim="fadeInRight"]{ transform:translateY(40px); }
  .wow.animated{ transform:none; }
  .sec-title{ margin-bottom:55px; }
  .work-row{ grid-template-columns:1fr 1fr; }
  .center-image{ grid-column:1/-1; order:-1; }
  .center-image .inner-box{ padding-top:0; margin-bottom:50px; }
  .center-image .image{ max-width:420px; }
  .left-column .work-block .inner{ text-align:left; }
  .about-row{ grid-template-columns:1fr; }
  .about-section .image-column .inner-box{ margin:0 0 40px; }
  .about-section .image-column img{ aspect-ratio:4/3; }
  .about-section .content-column .inner-box{ padding-left:0; }
  .gallery-grid{ grid-template-columns:repeat(2,1fr); grid-auto-rows:280px; gap:20px; }
  .fact-counter{ grid-template-columns:repeat(2,1fr); }
  .news-grid{ grid-template-columns:repeat(2,1fr); }
  .process-row{ grid-template-columns:repeat(3,1fr); }
  .contact-row{ grid-template-columns:1fr; }
  .contact-page-section .form-column .inner-column, .contact-page-section .info-column .inner-column{ padding:0; }
  .main-footer .widgets-section{ grid-template-columns:1fr 1fr; padding:90px 0 40px; }
  .lb-box{ grid-template-columns:1fr; max-height:calc(100vh - 40px); overflow-y:auto; }
  .lb-image img{ max-height:55vh; }
  .lb-next{ left:auto; right:0; }
  .lb-nav{ top:27vh; }
  .parallax{ background-attachment:scroll; }
  .main-slider .title{ font-size:50px; line-height:60px; }
  .main-slider h2{ font-size:50px; line-height:62px; }
}
@media (max-width:767px){
  .main-header .header-top .top-left ul li:nth-child(2){ display:none; }
  .main-header .logo img{ height:44px; }
  .main-header .logo-outer{ padding:12px 0; }
  .header-btn{ display:none; }
  .main-slider{ height:max(560px, calc(100svh - 120px)); }
  .main-slider .title{ font-size:40px; line-height:48px; }
  .main-slider h2{ font-size:32px; line-height:42px; }
  .main-slider .sub{ font-size:15px; line-height:24px; }
  .main-slider .theme-btn{ min-width:0; padding-left:20px; padding-right:20px; font-size:14px; }
  .slider-arrow{ width:44px; height:44px; margin-top:-22px; top:auto; bottom:20px; }
  .sec-title .title{ font-size:34px; }
  .sec-title h2, .about-section .content-column .sec-title h2{ font-size:30px; }
  .sec-title .separator::before, .sec-title .separator::after{ width:70px; }
  .work-section{ padding:90px 0 20px; }
  .work-row{ grid-template-columns:1fr; gap:0; }
  .work-block{ margin-bottom:45px; }
  .video-section{ padding:110px 0; }
  .about-section{ padding:90px 0 60px; }
  .gallery-masonry{ padding:90px 0; }
  .filter-tabs li{ padding:8px 16px; font-size:14px; }
  .gallery-grid{ grid-template-columns:1fr; grid-auto-rows:260px; gap:15px; }
  .gallery-item.size-w{ grid-column:auto; }
  .gallery-item.size-t{ grid-row:span 1; }
  .gallery-item .caption-box{ padding:0 25px 30px; }
  .fact-counter-section{ padding:90px 0; }
  .fact-counter-section .sec-title h3{ font-size:24px; line-height:36px; }
  .fact-counter .counter-column .inner{ padding:45px 10px 40px; }
  .counter-column .icon{ width:56px; height:56px; margin-bottom:22px; }
  .counter-column .count-text, .process-column .num{ font-size:36px; }
  .counter-column .counter-title{ font-size:13px; }
  .testimonial-section{ padding:90px 0 110px; }
  .testimonial-carousel p{ font-size:17px; line-height:30px; }
  .testimonial-section .owl-nav{ top:auto; bottom:-75px; margin:0; display:flex; justify-content:center; gap:12px; }
  .testimonial-section .owl-prev, .testimonial-section .owl-next{ position:static; }
  .news-section-two{ padding:90px 0 50px; }
  .news-grid{ grid-template-columns:1fr; }
  .process-section{ padding:90px 0 70px; }
  .process-row{ grid-template-columns:1fr 1fr; }
  .process-column:last-child{ grid-column:1/-1; }
  .contact-page-section{ padding:90px 0 50px; }
  .contact-form .grid{ grid-template-columns:1fr; }
  .palettes{ grid-template-columns:repeat(2,1fr); }
  .contact-page-section .contact-info{ grid-template-columns:1fr; }
  .main-footer .widgets-section{ grid-template-columns:1fr; padding:70px 0 20px; }
  .main-footer .footer-bottom .auto-container{ flex-direction:column; text-align:center; }
  .main-footer .footer-bottom .bottom-links li{ margin:0 12px; }
  .lightbox{ padding:12px; }
  .lb-info{ padding:30px 22px; }
  .lb-title{ font-size:24px; }
  .whatsapp-float{ right:16px; bottom:16px; }
  .scroll-to-top{ right:21px; bottom:88px; width:44px; height:44px; line-height:44px; }
}
@media (max-width:420px){
  .main-header .header-top .top-left ul li{ margin-right:0; }
  .social-icon-one li{ margin-left:5px; }
  .process-row{ grid-template-columns:1fr; }
  .process-column:last-child{ grid-column:auto; }
  .fact-counter{ grid-template-columns:1fr 1fr; }
}
