
* { margin: 0; padding: 0; }

body, html {
  color: #262629;
  scroll-behavior: smooth;
  font-family: "Manrope", sans-serif;
  overflow-x: hidden;
  background-color: #1C1D20;
  padding: 0 !important;
}

h1, h2, h3, h4, h5, h6 {
  color: #1C1D20;
  font-weight: 400;
  line-height: 1.3;
  font-family: "DM Serif Display", serif;
  letter-spacing: -1.04px;
}
h5, h6 { letter-spacing: -0.48px; }

p { font-size: 16px; line-height: 1.67; color: #262629; }
@media only screen and (min-width:1200px) { p { font-size: 18px; } }

a, a:hover, a:focus {
  -webkit-transition-duration: 350ms; transition-duration: 350ms;
  text-decoration: none; outline: 0 solid transparent; color: #1C1D20;
}
ul, ol { margin-bottom: 0; }
img { max-width: 100%; height: auto; }

input:required, textarea:required,
input:invalid, textarea:invalid {
  -webkit-box-shadow: none !important; box-shadow: none !important;
}
ul li, ol li { line-height: 1.75; }

/* 2. CONTAINER */
.container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl { max-width: 320px; }
@media (min-width:400px)  { .container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl { max-width:360px; } }
@media (min-width:480px)  { .container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl { max-width:420px; } }
@media (min-width:576px)  { .container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl { max-width:540px; } }
@media (min-width:768px)  { .container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl { max-width:720px; } }
@media (min-width:992px)  { .container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl { max-width:960px; } }
@media (min-width:1200px) { .container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl { max-width:1140px; } }
@media (min-width:1400px) { .container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl { max-width:1320px; } }

/* 3. UTILITIES */
.shadow-sm { -webkit-box-shadow:0 .125rem .25rem rgba(47,91,234,.075)!important; box-shadow:0 .125rem .25rem rgba(47,91,234,.075)!important; }
.shadow    { -webkit-box-shadow:0 .5rem 1rem rgba(47,91,234,.15)!important;   box-shadow:0 .5rem 1rem rgba(47,91,234,.15)!important; }
.shadow-lg { -webkit-box-shadow:0 1rem 3rem rgba(47,91,234,.175)!important;  box-shadow:0 1rem 3rem rgba(47,91,234,.175)!important; }
.border,.border-end,.border-start,.border-top,.border-bottom { border-color:rgba(38,38,41,.3)!important; }

.bg-primary        { background-color:#E8BF96!important; }
.bg-secondary      { background-color:#FAF6F3!important; }
.bg-dark           { background-color:#1C1D20!important; }
.bg-dark-secondary { background-color:#1F2732!important; }
.bg-img            { background-size:cover; background-position:center center; background-repeat:no-repeat; }
.bg-overlay        { position:relative; z-index:1; }
.bg-overlay::after { position:absolute; content:""; background-color:#1C1D20; opacity:.5; top:0; left:0; height:100%; width:100%; z-index:-1; }
.text-primary  { color:#E8BF96!important; }
.text-dark     { color:#262629!important; }
.text-heading  { color:#1C1D20!important; }

/* 4. BUTTONS — CORRIGIDO: width:80% removido do global */
.btn {
  display:inline-flex; align-items:center; justify-content:center;
  border:0!important; font-size:16px; padding:15px 32px; border-radius:5rem;
  font-weight:600; letter-spacing:-.14px; position:relative;
  height:54px; min-width:auto; text-transform:capitalize; overflow:hidden;
  width:auto; /* ← FIX: era width:80%, quebrava todos os botões */
}
.btn > span {
  font-size:16px; display:flex; align-items:center; gap:8px;
  transition:opacity 350ms ease,transform 350ms ease; position:relative; opacity:1;
}
.btn > span i { font-size:20px; }
.btn > span:last-child { position:absolute; opacity:0; transform:translateY(50px); }
.btn:hover > span:first-child { opacity:0; transform:translateY(-50px); }
.btn:hover > span:last-child  { opacity:1; transform:translateY(0); }

.btn-primary { background-color:#E8BF96; color:#1C1D20; }
.btn-primary:active,.btn-primary:hover,.btn-primary:focus { background-color:#b78d5a; color:#fff; }

.btn-dark { background-color:#1C1D20; color:#fff!important; }
.btn-dark:active,.btn-dark:hover,.btn-dark:focus { background-color:#161D27; color:#fff!important; }

.btn-group-sm>.btn,.btn-sm { padding:.375rem .75rem; font-size:12px; height:37px; min-width:100px; }

.btn-link {
  position:relative; z-index:1; color:#E8BF96; text-transform:capitalize; text-decoration:none;
  display:inline-flex; align-items:center; gap:8px; padding:0!important; min-width:0; height:auto;
}
.btn-link i { font-size:20px; transition-duration:350ms; }
.btn-link:active,.btn-link:hover,.btn-link:focus { color:#b78d5a; box-shadow:none; }

/* Botão hero: 100% no mobile */
@media only screen and (max-width:480px) { .hero-content .btn { width:100%!important; } }

/* 5. MAGNET CURSOR */
.magnet-cursor,.magnet-circle { position:fixed; top:0; left:0; border-radius:50%; pointer-events:none; }
.magnet-cursor { width:.75rem; height:.75rem; background-color:#D1B06B; transform:translate(var(--x),var(--y)); z-index:1000000; }
.magnet-circle { width:2rem; height:2rem; top:-2px; left:-2px; border:2px solid #D1B06B; background-color:transparent; transform:translate(var(--x),var(--y)); z-index:100000; }
/* FIX: esconde em touch (não tem hover em mobile) */
@media (hover:none) and (pointer:coarse) { .magnet-cursor,.magnet-circle { display:none; } }
.reset .magnet-cursor { background-color:transparent; }
.reset .magnet-circle { background-color:rgba(209,176,107,.2); border-color:transparent; width:3rem; height:3rem; top:-10px; left:-10px; }

/* 6. FLATICON */
@font-face {
  font-family:"flaticon_structa";
  src:url("assets/fonts/flaticon_structa.woff2?f3a43082825b797447c6742318d704a2") format("woff2"),
      url("assets/fonts/flaticon_structa.woff?f3a43082825b797447c6742318d704a2") format("woff"),
      url("assets/fonts/flaticon_structa.eot?f3a43082825b797447c6742318d704a2#iefix") format("embedded-opentype"),
      url("assets/fonts/flaticon_structa.ttf?f3a43082825b797447c6742318d704a2") format("truetype"),
      url("assets/fonts/flaticon_structa.svg?f3a43082825b797447c6742318d704a2#flaticon_structa") format("svg");
}
i[class^=flaticon-]:before,i[class*=" flaticon-"]:before {
  font-family:flaticon_structa!important; font-style:normal; font-weight:normal!important;
  font-variant:normal; text-transform:none; line-height:1;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
}
.flaticon-meeting:before    { content:"\f101"; }
.flaticon-real-estate:before { content:"\f102"; }
.flaticon-education:before   { content:"\f103"; }
.flaticon-constitution:before { content:"\f104"; }

/* 7. SCROLL TO TOP */
.lawgis-scrolltop {
  position:fixed; bottom:5rem; right:1rem; /* FIX: sobe para não cobrir botão WA */
  transition:all 350ms; z-index:9998;
  width:2.5rem; height:2.5rem; background-color:#E8BF96; font-size:1.5rem;
  display:flex; align-items:center; justify-content:center;
  color:#1C1D20; cursor:pointer; transform:translateY(100px); border-radius:50%; border:0;
}
.lawgis-scrolltop span { font-size:1.75rem; }
.lawgis-scrolltop.scrolltop-show { transform:translateY(0); }
.lawgis-scrolltop.scrolltop-hide { transform:translateY(100px); }
@media only screen and (min-width:768px) { .lawgis-scrolltop { width:3rem; height:3rem; bottom:2rem; right:2rem; } }
.lawgis-scrolltop::before {
  content:""; position:absolute; top:0; left:0; right:0; bottom:0; border-radius:50%;
  background:conic-gradient(#b78d5a var(--scroll-progress),#E8BF96 0); z-index:-1;
}

/* 8. DIVIDER */
.divider { width:100%; display:block; height:60px; }
@media only screen and (min-width:576px)  { .divider { height:70px; } }
@media only screen and (min-width:768px)  { .divider { height:90px; } }
@media only screen and (min-width:992px)  { .divider { height:100px; } }
@media only screen and (min-width:1200px) { .divider { height:110px; } }
@media only screen and (min-width:1400px) { .divider { height:130px; } }
.divider-sm { width:100%; display:block; height:50px; }

/* 9. SECTION HEADING */
.section-heading h2 { font-size:clamp(26px,4vw,52px); line-height:1.15; letter-spacing:-1.04px; margin-bottom:28px; }
@media only screen and (min-width:1400px) { .section-heading h2 { margin-bottom:54px; } }
.section-heading .sub-title {
  display:flex; align-items:center; text-transform:uppercase; gap:6px;
  font-size:13px; font-weight:600; margin-bottom:1rem; letter-spacing:.5px;
}
@media only screen and (min-width:768px) { .section-heading .sub-title { font-size:15px; } }

/* 10. HEADER */
.header-area {
  background-color:#1C1D20; position:fixed; width:100%; top:0; left:0;
  z-index:1000; transition:all 350ms;
}
.header-area::after {
  transition:all 350ms; position:absolute; width:100%; height:1px;
  background-color:rgba(255,255,255,.15); content:""; bottom:0; left:0; z-index:-10;
}
@media only screen and (min-width:992px) { .header-area { box-shadow:none; } }
.header-area.mobile-menu-open { background-color:#1C1D20; }
.header-area .navbar-toggler { padding:0; width:1.75rem; height:1.75rem; font-size:1.5rem; color:#fff; border:0; }
.header-area .navbar-toggler:focus { box-shadow:none; }
.header-area .navbar { padding-top:.5rem; padding-bottom:.5rem; transition:all 350ms; }
@media only screen and (min-width:992px) { .header-area .navbar { height:110px; padding-top:0; padding-bottom:0; } }
.header-area .navbar .navbar-brand { margin-right:2rem; line-height:1!important; }
@media only screen and (min-width:1200px) { .header-area .navbar .navbar-brand { margin-right:3rem; } }
.header-area .navbar-nav { margin-top:.5rem; margin-bottom:.5rem; }
@media only screen and (min-width:992px)  { .header-area .navbar-nav { gap:16px; margin-top:0; margin-bottom:0; } }
@media only screen and (min-width:1200px) { .header-area .navbar-nav { gap:32px; } }
@media only screen and (min-width:1400px) { .header-area .navbar-nav { gap:44px; } }
.header-area .navbar-nav li>a {
  color:#fff; font-weight:600; font-size:1rem; text-transform:capitalize;
  padding-top:.5rem; padding-bottom:.5rem; transition:all 350ms;
  display:flex; align-items:center; gap:6px;
}
@media only screen and (min-width:1200px) { .header-area .navbar-nav li>a { padding-top:1.5rem; padding-bottom:1.5rem; } }
.header-area .navbar-nav li>a:hover { color:#E8BF96; }
.header-area.sticky-on { background-color:#1C1D20; box-shadow:0 1rem 3rem rgba(194,199,240,.175); }
.header-area.sticky-on::after { background-color:rgba(255,255,255,0); }
@media only screen and (min-width:992px) { .header-area.sticky-on .navbar { height:90px; } }

/* 11. HERO ══════════════════════════════════ */
.hero-section {
  position:relative; z-index:1; background-color:#1C1D20;
  margin-top:60px; /* FIX: header menor no mobile */
  padding-top:0; padding-bottom:0;
  background-position:center center; background-size:cover; background-repeat:no-repeat;
  min-height:calc(100svh - 60px); /* tela inteira no mobile */
}
@media only screen and (min-width:768px) { .hero-section { margin-top:80px; min-height:auto; } }
@media only screen and (min-width:992px) { .hero-section { margin-top:110px; } }
@media only screen and (min-width:1200px) { .hero-section { padding-top:30px; padding-bottom:30px; } }
@media only screen and (min-width:1400px) { .hero-section { padding-top:70px; padding-bottom:70px; } }

.hero-section::after { position:absolute; width:100%; height:100%; top:0; left:0; background-color:#1C1D20; opacity:.88; content:""; z-index:-10; }
.hero-section::before { position:absolute; width:100%; height:100%; top:0; left:0; content:""; z-index:-10; background:radial-gradient(48.33% 39.41% at 74.75% 53.85%,rgba(28,29,32,0) 0%,#1C1D20 100%); }

/* Foto da Dra. Beatriz */
.hero-section .right-side-image>img { position:absolute; top:0; right:-60px; bottom:0; width:auto; z-index:-5; height:100%; max-height:100%; object-fit:cover; }

/* FIX: foto visível e sutil no mobile */
@media only screen and (max-width:767px) {
  .hero-section .right-side-image { display:block!important; }
  .hero-section .right-side-image>img {
    right:0!important; left:auto!important; width:68%!important;
    height:85%!important; top:8%!important; bottom:auto!important;
    opacity:.18;
    -webkit-mask-image:linear-gradient(to left,rgba(0,0,0,.9) 0%,rgba(0,0,0,.2) 55%,transparent 100%);
    mask-image:linear-gradient(to left,rgba(0,0,0,.9) 0%,rgba(0,0,0,.2) 55%,transparent 100%);
  }
}

/* H1 DO HERO — CORRIGIDO MOBILE FIRST */
.hero-content h1 {
  font-size:24px!important; line-height:1.28!important;
  letter-spacing:-.4px!important; margin-top:12px!important; margin-bottom:14px!important;
}
@media only screen and (min-width:380px) { .hero-content h1 { font-size:26px!important; } }
@media only screen and (min-width:480px) { .hero-content h1 { font-size:30px!important; } }
@media only screen and (min-width:576px) { .hero-content h1 { font-size:36px!important; line-height:1.2!important; letter-spacing:-.7px!important; margin-top:6%!important; } }
@media only screen and (min-width:768px) { .hero-content h1 { font-size:46px!important; letter-spacing:-1.2px!important; margin-top:8%!important; } }
@media only screen and (min-width:992px) { .hero-content h1 { font-size:58px!important; letter-spacing:-1.5px!important; } }
@media only screen and (min-width:1200px) { .hero-content h1 { font-size:64px!important; } }

/* H2 legado */
.hero-content h2 { letter-spacing:-1.88px; font-size:36px; line-height:1.1; margin-top:10%; }
@media only screen and (min-width:576px) { .hero-content h2 { font-size:40px; margin-top:10%; } }
@media only screen and (min-width:768px) { .hero-content h2 { font-size:60px; } }
@media only screen and (min-width:992px) { .hero-content h2 { font-size:72px; } }

/* PARÁGRAFO DO HERO — CORRIGIDO (era 30px no mobile!) */
.hero-content p {
  font-size:14px!important; line-height:1.65!important; margin-bottom:22px!important;
}
@media only screen and (min-width:480px) { .hero-content p { font-size:15px!important; } }
@media only screen and (min-width:768px) { .hero-content p { font-size:16px!important; margin-bottom:32px!important; } }
@media only screen and (min-width:1200px) { .hero-content p { font-size:18px!important; margin-bottom:44px!important; } }

/* Rating */
.hero-content .hero-rating .icon {
  width:52px; height:52px; min-width:52px; background-color:#fff; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
}
@media only screen and (min-width:768px) { .hero-content .hero-rating .icon { width:68px; height:68px; min-width:68px; } }
.hero-content .hero-rating div p { font-size:14px; font-weight:600; color:#fff; line-height:1.4; }
.hero-content .hero-rating div p:last-child { font-size:12px; font-weight:400; opacity:.85; }
@media only screen and (min-width:768px) {
  .hero-content .hero-rating div p { font-size:18px; }
  .hero-content .hero-rating div p:last-child { font-size:14px; }
}

/* 12. SERVICE */
.service-section { overflow:hidden; }
.service-swiper-slider { width:100%; }
@media only screen and (min-width:576px)  { .service-swiper-slider { width:120%; } }
@media only screen and (min-width:992px)  { .service-swiper-slider { width:125%; } }
@media only screen and (min-width:1200px) { .service-swiper-slider { width:130%; } }
@media only screen and (min-width:1400px) { .service-swiper-slider { width:150%; } }

.service-slide-card { position:relative; border-radius:12px; background:#1C1D20; padding:36px 28px; transition-duration:350ms; }

/* Barra acento dourado */
.service-slide-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg,#E8BF96 0%,transparent 100%);
  border-radius:12px 12px 0 0; opacity:.5; transition:opacity 350ms;
}
.service-slide-card:hover::before,.service-slide-card:focus::before { opacity:0; }

/* Ícones tabler (novos) */
.service-slide-card .svc-icon {
  font-size:48px; color:#E8BF96; display:block; margin-bottom:1.1rem; line-height:1;
  transition:color 350ms,transform 350ms;
}
.service-slide-card:hover .svc-icon,.service-slide-card:focus .svc-icon { color:#1C1D20; transform:scale(1.1); }

/* Flaticon legado */
.service-slide-card>i { font-size:48px; color:#E8BF96; display:block; margin-bottom:1rem; transition-duration:350ms; }

.service-slide-card .title { font-weight:600; font-size:20px; line-height:1.3; color:#fff; display:block; margin-bottom:.9rem; transition-duration:350ms; }
@media only screen and (min-width:768px) { .service-slide-card .title { font-size:22px; } }
.service-slide-card p { transition-duration:350ms; font-size:15px; color:#fff; margin-bottom:1.75rem; display:block; }
.service-slide-card .btn-link { color:#fff; font-size:15px; transition-duration:350ms; }
.service-slide-card .btn-link i { font-size:18px; }

.service-slide-card:hover,.service-slide-card:focus { background-color:#E8BF96; }
.service-slide-card:hover .title,.service-slide-card:hover p,.service-slide-card:hover span,
.service-slide-card:focus .title,.service-slide-card:focus p,.service-slide-card:focus span { color:#1C1D20; }
.service-slide-card:hover>i,.service-slide-card:focus>i { color:#1C1D20; }
.service-slide-card:hover .btn-link,.service-slide-card:focus .btn-link { color:#1C1D20!important; }

.service-swiper-slider-navigation { display:flex; align-items:center; justify-content:flex-end; gap:24px; }
.service-swiper-slider-navigation>div {
  position:relative; z-index:1; width:50px; height:50px; flex:0 0 50px;
  background-color:transparent; border:2px solid #E8BF96; border-radius:50%;
  transition:all 350ms; display:flex; align-items:center; justify-content:center; cursor:pointer;
}
@media only screen and (min-width:1200px) { .service-swiper-slider-navigation>div { width:60px; height:60px; flex:0 0 60px; } }
.service-swiper-slider-navigation>div i { font-size:22px; color:#E8BF96; }
.service-swiper-slider-navigation>div:hover,.service-swiper-slider-navigation>div:focus { background-color:#E8BF96; border-color:#E8BF96; }
.service-swiper-slider-navigation>div:hover i,.service-swiper-slider-navigation>div:focus i { color:#1C1D20; }

/* AREA CHIPS */
.area-chip {
  background:#f8f6f2; border-left:3px solid #c4a97d; padding:12px 14px; border-radius:6px;
  font-size:13px; font-weight:500; display:flex; align-items:center; gap:8px;
  transition:background 250ms,border-color 250ms,transform 250ms; cursor:default; line-height:1.3;
}
.area-chip:hover { background:#EFE5D8; border-color:#E8BF96; transform:translateX(3px); }
.area-chip .ti { font-size:14px; color:#c4a97d; flex-shrink:0; }
@media only screen and (max-width:400px) { .area-chip { font-size:12px; padding:10px; } }

/* 13. ABOUT */
.about-section { position:relative; z-index:1; }
.experience-card { padding:36px 28px; border-radius:12px; background-color:#1C1D20; text-align:center; transition:all .3s; }
.experience-card h2 { color:#fff; font-size:48px; line-height:1.1; transition:all .3s; }
@media only screen and (min-width:1200px) { .experience-card h2 { font-size:80px; } }
.experience-card p { color:#fff; font-size:18px; font-weight:600; transition:all .3s; }
.experience-card:hover { background-color:#E8BF96; }
.experience-card:hover h2 { color:#1C1D20; }
.experience-card:hover p { color:#262629; }

/* Credenciais */
.cred-list { list-style:none; padding:0; margin-bottom:24px; }
.cred-list li { display:flex; align-items:flex-start; gap:10px; padding:8px 0; border-bottom:1px solid rgba(0,0,0,.07); font-size:14px; }
.cred-list li:last-child { border-bottom:none; }
.cred-list li .ti { color:#c4a97d; font-size:18px; margin-top:1px; flex-shrink:0; }

/* 14. WORK PROCESS */
.work-process { display:flex; gap:2rem; flex-direction:column; }
.process-card { position:relative; z-index:1; display:flex; gap:24px; transition:all .35s; }
@media only screen and (min-width:1200px) { .process-card { gap:41px; } }
.process-card::after { position:absolute; width:1.5px; height:calc(100% - 44px); top:65px; left:25px; background-color:rgba(255,255,255,.25); content:""; z-index:10; }
.process-card:last-child::after { display:none; }
.process-card .number {
  flex:0 0 50px; max-width:50px; width:50px; height:50px;
  background-color:#fff; color:#1C1D20; font-size:18px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; font-weight:600;
  transition-duration:350ms; box-shadow:0 0 0 4px rgba(232,191,150,.18);
}
.process-card .process-text { background-color:#262629; padding:22px 28px; border-radius:12px; transition-duration:350ms; }
.process-card .process-text .process-title { font-size:18px; font-weight:600; margin-bottom:10px; color:#fff; transition-duration:350ms; }
@media only screen and (min-width:768px) { .process-card .process-text .process-title { font-size:22px; } }
@media only screen and (min-width:1200px) { .process-card .process-text { padding:36px; } }
.process-card .process-text p { transition-duration:350ms; color:#fff; }
.process-card:hover .number,.process-card:focus .number { background-color:#E8BF96; color:#1C1D20; box-shadow:0 0 0 6px rgba(232,191,150,.3); }
.process-card:hover .process-text,.process-card:focus .process-text { background-color:#E8BF96; transform:scale(1.02); }
.process-card:hover .process-text .process-title,.process-card:focus .process-text .process-title { color:#1C1D20; }
.process-card:hover .process-text p,.process-card:focus .process-text p { color:#1C1D20; }

/* 15. TESTIMONIAL */
.testimonial-section .swiper-navigation-container { display:flex; align-items:center; justify-content:flex-end; gap:24px; margin-bottom:44px; }
.testimonial-section .swiper-navigation-container>div {
  position:relative; z-index:1; width:54px; height:54px; flex:0 0 54px;
  background-color:transparent; border:2px solid #1C1D20; border-radius:50%;
  transition:all 350ms; display:flex; align-items:center; justify-content:center; cursor:pointer;
}
.testimonial-section .swiper-navigation-container>div::after { display:none; opacity:0; }
.testimonial-section .swiper-navigation-container>div i { font-size:22px; color:#1C1D20; }
.testimonial-section .swiper-navigation-container>div:hover,
.testimonial-section .swiper-navigation-container>div:focus { background-color:#E8BF96; border-color:#E8BF96; }

.testimonial-card { display:block; }
.testimonial-card .testimonial-info {
  max-width:100%; flex:0 0 100%; width:100%;
  border:2px solid #E8BF96; border-radius:8px; padding:20px; position:relative; margin-left:0;
}
@media only screen and (min-width:992px) { .testimonial-card .testimonial-info { padding:28px; } }

.testimonial-stars-row { display:flex; gap:3px; margin-bottom:10px; color:#E8BF96; font-size:15px; }
.testimonial-card .testimonial-info .testimonial-text { margin-bottom:18px; font-size:14px; line-height:1.7; }
@media only screen and (min-width:768px) { .testimonial-card .testimonial-info .testimonial-text { font-size:16px; } }
.testimonial-card .testimonial-info .name { font-size:15px; font-weight:600; line-height:1.3; }
@media only screen and (min-width:992px) { .testimonial-card .testimonial-info .name { font-size:18px; } }
.testimonial-card .testimonial-info .designation { font-size:12px; color:#888; }
@media only screen and (min-width:992px) { .testimonial-card .testimonial-info .designation { font-size:14px; } }
.testimonial-swiper { position:relative; z-index:1; }
.testimonial-pagination { margin-top:40px; display:flex; align-items:center; justify-content:center; gap:10px; }
.testimonial-pagination>span { width:10px; height:10px; transition:all 350ms; background-color:transparent; border-radius:50%; border:1.5px solid rgba(38,38,41,.3); opacity:1; }
.testimonial-pagination>span.swiper-pagination-bullet-active { border-color:#E8BF96; background-color:#E8BF96; }

/* FAQ */
.accordion-item { border:1px solid rgba(0,0,0,.09)!important; border-radius:8px!important; overflow:hidden; }
.accordion-button { font-weight:600!important; font-size:14px!important; padding:14px 18px!important; background:#fff!important; color:#1C1D20!important; }
@media only screen and (min-width:768px) { .accordion-button { font-size:16px!important; padding:16px 20px!important; } }
.accordion-button:not(.collapsed) { background-color:#E8BF96!important; color:#1C1D20!important; box-shadow:none!important; }
.accordion-body { font-size:13px!important; padding:14px 18px 18px!important; background:#faf9f7; color:#262629!important; }
@media only screen and (min-width:768px) { .accordion-body { font-size:15px!important; } }

/* 16. VIDEO POPUP */
.video-popup-iframe {
  display:none; position:fixed; z-index:999; left:0; top:0; width:100%; height:100%;
  background-color:rgba(0,0,0,.8); justify-content:center; align-items:center;
}
.video-popup-iframe .video-content { position:relative; width:90%; max-width:900px; padding:0; z-index:1; }
.video-popup-iframe .video-content .close-btn {
  position:absolute; top:-3rem; right:0; z-index:1000;
  width:36px; height:36px; border-radius:50%; border:0; font-size:2rem;
  display:flex; align-items:center; justify-content:center;
  background-color:#E8BF96; cursor:pointer; color:#1C1D20;
}
@media only screen and (min-width:992px) { .video-popup-iframe .video-content .close-btn { width:40px; height:40px; top:-2.5rem; right:-2.5rem; } }

/* 17. FORMS & CONTACT */
form { display:flex; flex-direction:column; gap:16px; }
@media only screen and (min-width:768px) { form { gap:24px; } }
form .form-control {
  width:100%; height:50px; color:#262629; font-size:15px;
  padding:13px 18px; border-radius:8px; background:#fff; border:0;
}
@media only screen and (min-width:1200px) { form .form-control { height:60px; font-size:18px; padding:17px 24px; } }
form .form-control::-webkit-input-placeholder { color:#aaa; }
form .form-control::placeholder { color:#aaa; }
form .form-control:focus { background-color:#FAF6F3; box-shadow:none; outline:none; color:#262629; border:0; }
form .form-control option { color:#262629; }
form textarea.form-control { min-height:110px; height:auto; }
form .btn { height:52px; width:100%!important; }
@media only screen and (min-width:1200px) { form .btn { height:60px; } }

.contact-form { padding:22px 18px; border-radius:12px; }
@media only screen and (min-width:768px) { .contact-form { padding:32px 28px; } }
@media only screen and (min-width:1200px) { .contact-form { padding:48px 44px; } }
.contact-form .contact-title { font-size:20px; font-weight:600; margin-bottom:18px; }
@media only screen and (min-width:768px) { .contact-form .contact-title { font-size:26px; margin-bottom:24px; } }

.contact-info-card { display:flex; align-items:center; gap:14px; }
@media only screen and (min-width:992px) { .contact-info-card { gap:22px; } }
.contact-info-card .icon-wrapper {
  width:56px; height:56px; flex-shrink:0; background-color:#E8BF96; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
}
@media only screen and (min-width:992px) { .contact-info-card .icon-wrapper { width:70px; height:70px; } }
.contact-info-card p { font-size:15px; font-weight:600; color:#fff; line-height:1.25; }
@media only screen and (min-width:992px) { .contact-info-card p { font-size:19px; } }
.contact-info-card p:last-child { font-size:13px; font-weight:400; line-height:1.6; color:rgba(255,255,255,.72); }

/* 18. FOOTER */
.footer-line { background:rgba(255,255,255,.12); width:100%; height:1px; display:block; }
.footer-logo { margin-bottom:36px; max-width:60%; justify-content:center; }
@media only screen and (min-width:768px) { .footer-logo { max-width:45%; margin-bottom:52px; } }
@media only screen and (min-width:1200px) { .footer-logo { max-width:28%; } }
.footer-contact-card p { font-weight:600; font-size:15px; letter-spacing:-.3px; }
@media only screen and (min-width:1200px) { .footer-contact-card p { font-size:18px; } }
.footer-contact-card p:last-child { font-size:12px; font-weight:400; letter-spacing:0; color:rgba(255,255,255,.7); }
@media only screen and (min-width:1200px) { .footer-contact-card p:last-child { font-size:15px; } }
.footer-bottom-nav { display:flex; align-items:center; gap:20px; justify-content:flex-start; }
@media only screen and (min-width:768px) { .footer-bottom-nav { justify-content:flex-end; gap:36px; } }
.footer-bottom-nav a { color:rgba(255,255,255,.6); font-size:13px; line-height:1.4; text-transform:capitalize; }
.footer-bottom-nav a:hover,.footer-bottom-nav a:focus { color:#E8BF96; }
.footer-bottom-content { padding-top:28px; padding-bottom:28px; }
.footer-bottom-content .copyright { font-size:12px; color:rgba(255,255,255,.5); display:flex; align-items:center; gap:5px; flex-wrap:wrap; }
.footer-bottom-content .copyright a { font-size:12px; color:#E8BF96; }
.footer-bottom-content .social-nav { display:flex; align-items:center; gap:10px; }
.footer-bottom-content .social-nav a {
  display:flex; color:#fff; width:34px; height:34px; border-radius:50%;
  font-size:15px; border:1.258px solid rgba(255,255,255,.25);
  transition:all 350ms ease; align-items:center; justify-content:center;
}
@media only screen and (min-width:1200px) { .footer-bottom-content .social-nav a { width:40px; height:40px; font-size:16px; } }
.footer-bottom-content .social-nav a:hover,.footer-bottom-content .social-nav a:focus { background-color:#E8BF96; color:#1C1D20; border-color:#E8BF96; }

/* FLOATING WHATSAPP */
.float-wa {
  display:none; position:fixed; bottom:16px; right:16px;
  width:56px; height:56px; background:#25D366; border-radius:50%;
  z-index:9990; box-shadow:0 4px 16px rgba(0,0,0,.3);
  align-items:center; justify-content:center; color:#fff; font-size:28px;
  transition:transform 250ms; text-decoration:none;
}
.float-wa:hover { transform:scale(1.1); color:#fff; }
@media only screen and (max-width:767px) { .float-wa { display:flex; } }

/* 19. COOKIE ALERT */
.cookiealert {
  position:fixed; left:1rem; bottom:1rem; z-index:10000;
  max-width:270px; padding:24px 20px; border-radius:12px;
  background-color:#E8BF96; opacity:0; visibility:hidden;
  transform:translateY(-16px); transition-duration:350ms;
}
@media only screen and (min-width:768px) { .cookiealert { max-width:400px; left:1.5rem; bottom:1.5rem; padding:32px 26px; } }
.cookiealert.show { opacity:1; visibility:visible; transform:translateY(0); }
.cookiealert h2 { color:#1C1D20; font-size:17px; margin-bottom:10px!important; }
.cookiealert p { font-size:12px; color:#1C1D20; margin-bottom:0; }
.cookiealert a { color:#1C1D20; text-decoration:underline; }