@media (max-width: 1024px) {
  .goa-accepted-container, .main-wrapper, .container {
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}
html, body {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  min-height: 100vh;
  box-sizing: border-box;
  overflow-x: hidden !important;
  background: #fff;
}




/* ---- separator ---- */


/* ========== PROZWORLD GOA ACCEPTED SLIDER: FINAL CLEAN CSS ========== */

/* --- Slider Container & Layout --- */
.goa-accepted-slider { 
  display: flex; 
  justify-content: center; 
  align-items: center; 
  overflow: hidden; 
  position: relative; 
  min-height: 390px;
  background: #fff;
}
.goa-accepted-slide {
  flex: 0 0 100%; 
  max-width: 100%; 
  opacity: 0; 
  pointer-events: none; 
  position: absolute; 
  left: 0; top: 0; 
  width: 100%;
  z-index: 0; 
  transform: translateX(0);
  transition: none;
  display: flex;
  justify-content: center;
  align-items: center;
}
.goa-accepted-slide.active {
  opacity: 1; 
  pointer-events: auto; 
  z-index: 2; 
}
.goa-accepted-slide.anim-in,
.goa-accepted-slide.anim-out {
  animation: inPlaceWobble 0.95s both;
}
#goa-accepted-slider-section {
  font-family: 'Nunito', Arial, Helvetica, sans-serif;
}

@keyframes inPlaceWobble {
  0%   { transform: rotate(0deg) scale(1);}
  13%  { transform: rotate(-2.5deg) scale(1.03);}
  25%  { transform: rotate(2.5deg) scale(0.97);}
  38%  { transform: rotate(-1.7deg) scale(1.02);}
  51%  { transform: rotate(1.7deg) scale(0.98);}
  64%  { transform: rotate(-1deg) scale(1.01);}
  77%  { transform: rotate(1deg) scale(0.99);}
  100% { transform: rotate(0deg) scale(1);}
}

/* --- Card Design --- */
.goa-accepted-card {
  background: #fff; 
  border-radius: 24px; 
  box-shadow: 0 6px 36px -8px #00838f33;
  border: 2.5px solid #00838f;
  padding: 16px 32px 32px 32px;
  margin: 0 12px;
  max-width: 600px; 
  min-height: 340px;
  display: flex; 
  flex-direction: column; 
  align-items: center; 
  justify-content: center;
  box-sizing: border-box;
  position: relative;
}
.goa-accepted-area {
  font-size: 1.32rem; 
  font-weight: 800; 
  color: #004d61; 
  margin-bottom: 11px; 
  letter-spacing: 0.3px;
  text-align: center;
}
.goa-accepted-icons {
  display: flex; 
  gap: 20px; 
  margin-bottom: 15px; 
  font-size: 2.06rem; 
  color: #00838f;
  flex-wrap: wrap; 
  justify-content: center;
}
.goa-accepted-authorities, 
.goa-accepted-docs, 
.goa-accepted-note {
  font-size: 1.09rem; 
  color: #2a2a2a; 
  margin: 6px 0 0 0; 
  text-align: center;
}
.goa-accepted-authorities b, 
.goa-accepted-docs b { 
  color: #00796b; 
}
.goa-accepted-note {
  margin: 12px 0 19px 0; 
  font-weight: 600; 
  color: #00838f;
}
.goa-accepted-btn {
  background: #00838f;
  color: #fff;
  border: none;
  border-radius: 32px;
  padding: 13px 34px;
  font-size: 1.08rem;
  font-weight: 700;
  cursor: pointer;
  margin-top: 10px;
  letter-spacing: 0.7px;
  box-shadow: 0 3px 18px -7px #00838f77;
  transition: background 0.2s, transform 0.18s;
}
.goa-accepted-btn:hover {
  background: #00796b;
  transform: translateY(-2px) scale(1.04);
}

/* --- Slider Dots --- */
.goa-accepted-dots {
  display: flex; 
  gap: 9px; 
  justify-content: center; 
  align-items: center; 
  margin-top: 28px; 
  flex-wrap: wrap;
}
.goa-accepted-dot {
  width: 16px; 
  height: 16px; 
  border-radius: 50%; 
  border: 2.5px solid #00838f;
  background: #fff; 
  box-shadow: 0 2px 8px #00838f15;
  cursor: pointer; 
  transition: background .15s, border-color .2s; 
  outline: none;
  display: inline-block;
}
.goa-accepted-dot.active {
  background: #23ce8e; 
  border-color: #23ce8e;
}

/* --- Responsive Adjustments (MOBILE DOTS FIX) --- */
@media (max-width: 900px) {
  .goa-accepted-slider {
    padding-bottom: 62px;
  }
}
@media (max-width: 750px) {
  .goa-accepted-card {
    padding: 18px 5px;
    min-height: 290px;
    margin-bottom: 38px; /* More bottom space for dots! */
  }
  .goa-accepted-slider {
    min-height: 255px;
  }
  .goa-accepted-dots {
    margin-top: 78px;
  }
}
@media (max-width: 600px) {
  .goa-accepted-slider {
    padding-bottom: 215px !important;  /* enough for 3 rows of dots! */
  }
  .goa-accepted-card {
    margin-bottom: 0 !important;
  }
  .goa-accepted-dots {
    margin-top: 0 !important;
  }
}
@media (max-width: 480px) {
  #goa-accepted-slider-section {
    padding: 24px 0 16px 0;
  }
  
  @media (max-width: 600px) {
  .goa-accepted-dots {
    margin-top: 108px !important;
  }
}

  .goa-accepted-card {
    border-radius: 13px;
    max-width: 99vw;
    margin-bottom: 54px; /* Even more for tiny screens! */
  }
  .goa-accepted-slider {
    min-height: 195px;
  }
  .goa-accepted-btn {
    font-size: 0.99rem;
    padding: 9px 16px;
  }
  .goa-accepted-icons {
    font-size: 1.32rem;
  }
  .goa-accepted-dots {
    margin-top: 2px;
  }
}

/* ========== END PROZWORLD GOA SLIDER: FINAL CLEAN CSS ========== */


/* ---- separator ---- */


.goa-top-bar {
  background: #00bfa5;
  color: #fff;
  width: 100vw;
  position: sticky;
  top: 0;
  left: 0;
  z-index: 9999;
  box-shadow: 0 2px 14px rgba(0,191,165,0.08);
  padding: 0; /* Remove all padding here */
  margin: 0;
}
.goa-top-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1540px;
  margin: 0 auto;
  padding: 11px 3vw; /* Padding INSIDE, not on the bar itself */
}
.goa-logo {
  display: flex; align-items: center;
}
.goa-logo img { height: 32px; margin-right: 12px; border-radius: 7px; box-shadow: 0 1px 8px #00bfa555; }
.goa-greet {
  font-size: 1.13em;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.3px;
  padding-left: 2px;
  display: flex;
  align-items: center;
}
.goa-coconut {
  margin-left: 4px;
  font-size: 1.2em;
  display: inline-block;
  animation: coconut-oscillate 1.7s ease-in-out infinite alternate;
  transform-origin: 55% 100%;
}
@keyframes coconut-oscillate {
  0%   { transform: rotate(-17deg);}
  50%  { transform: rotate(13deg);}
  100% { transform: rotate(-17deg);}
}
.goa-top-links { display: flex; gap: 14px; align-items: center; }
.goa-top-links a {
  background: #fff;
  color: #00bfa5;
  font-weight: 700;
  padding: 10px 19px;
  border-radius: 7px;
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 1em;
  text-decoration: none;
  box-shadow: 0 1px 8px #00bfa520;
  border: 1.4px solid #d0f4ff;
  transition: background 0.19s, color 0.18s, border-color 0.17s, transform 0.14s;
  min-width: 124px;
  justify-content: center;
}
.goa-top-links a:hover {
  background: #ffd54f;
  color: #fb8c00;
  border-color: #ffd54f;
  transform: translateY(-2px) scale(1.04);
}
@media (max-width: 900px) {
  .goa-top-inner { flex-direction: column; align-items: stretch; padding: 8px 2vw;}
  .goa-logo { justify-content: center; }
  .goa-top-links { justify-content: center; flex-wrap: wrap; gap: 9px; margin-top: 7px; }
}


/* ---- separator ---- */


.goa-nav {
  background: #fff;
  box-shadow: 0 1px 10px #00bfa511;
  padding: 0 3vw;
  position: relative;
}
.goa-nav-list {
  display: flex;
  gap: 22px;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
  min-height: 56px;
}
.goa-nav-list li { position: relative; }
.goa-nav-list li a {
  color: #00695c;
  font-weight: 600;
  text-decoration: none;
  padding: 15px 10px;
  border-radius: 7px;
  transition: background 0.22s, color 0.16s;
  font-size: 1em;
  display: inline-block;
}
.goa-nav-list li a:hover, .goa-nav-list li.active a {
  background: #00bfa5;
  color: #fff;
}
.goa-nav-cta {
  background: #00bfa5;
  color: #fff !important;
  padding: 11px 22px !important;
  border-radius: 7px;
  font-weight: 700;
  box-shadow: 0 2px 10px #00bfa52a;
  margin-left: 10px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  transition: background 0.18s, color 0.18s, box-shadow 0.18s;
}
.goa-nav-cta:hover {
  background: #ffe082;
  color: #fb8c00 !important;
  box-shadow: 0 4px 14px #ffe0823d;
}
.goa-nav-toggle {
  display: none;
  background: none;
  border: none;
  font-size: 2.1rem;
  color: #00bfa5;
  cursor: pointer;
  position: absolute;
  right: 14px;
  top: 11px;
  z-index: 11;
}
.dropdown > a { cursor: pointer; }
.dropdown-menu {
  display: none;
  position: absolute;
  left: 0; top: 100%;
  min-width: 230px;
  background: #fff;
  border-radius: 7px;
  box-shadow: 0 8px 32px #00bfa522;
  z-index: 20;
  flex-direction: column;
  padding: 7px 0;
}
.dropdown:hover .dropdown-menu,
.dropdown:focus-within .dropdown-menu {
  display: flex;
}
.dropdown-menu li a {
  padding: 12px 18px;
  color: #00695c;
  background: none;
  font-size: 0.98em;
  border-radius: 6px;
}
.dropdown-menu li a:hover {
  background: #e0f7fa;
  color: #00bfa5;
}
@media (max-width: 900px) {
  .goa-nav-list { gap: 12px; }
}
@media (max-width: 700px) {
  .goa-nav-list {
    flex-direction: column;
    background: #fff;
    position: absolute;
    left: 0; top: 52px; width: 100%;
    display: none;
    z-index: 9;
    box-shadow: 0 4px 24px #00bfa511;
    min-height: 0;
    padding-bottom: 15px;
    padding-top: 7px;
  }
  .goa-nav-list.open {
    display: flex;
    animation: fadeInMenu .45s cubic-bezier(.37,1.22,.33,.99);
  }
  .goa-nav-toggle { display: block; }
  .dropdown-menu {
    position: static;
    box-shadow: none;
    background: #f9f9f9;
    border-radius: 0 0 7px 7px;
    padding-left: 8vw;
  }
}
@keyframes fadeInMenu {
  from { opacity: 0; transform: translateY(-30px);}
  to   { opacity: 1; transform: translateY(0);}
}


/* ---- separator ---- */


.goa-hero-slider-cinematic {
  width: 100vw; height: 93vh; min-height: 460px; max-height: 860px;
  position: relative; overflow: hidden;
  display: flex; align-items: stretch; justify-content: stretch;
  box-shadow: 0 14px 36px #00bfa519;
}
.hero-slider-bg {
  position: absolute; left: 0; top: 0; width: 100vw; height: 100%; z-index: 1; overflow: hidden;
}
.hero-slide-bg {
  position: absolute; left: 0; top: 0; width: 100vw; height: 100%;
  background-size: cover; background-position: center;
  opacity: 0; z-index: 1;
  transition: opacity 0.54s cubic-bezier(.45,1.2,.46,.94);
  will-change: opacity;
}
.hero-slide-bg.active { opacity: 1; z-index: 2; animation: wobbleIn 1.12s; }
.hero-slide-bg.wobbleOut { animation: wobbleOut 0.83s; }
.hero-bg-overlay {
  position: absolute; left: 0; top: 0; width: 100vw; height: 100%;
  background: linear-gradient(105deg,rgba(0,191,165,0.13) 0%,rgba(0,0,0,0.21) 90%);
  z-index: 3;
  pointer-events: none;
}
.hero-center-content {
  position: relative; z-index: 5;
  width: 100vw; height: 100%; min-height: 440px;
  display: flex; align-items: center; justify-content: center;
  flex-direction: column;
}
.hero-slide-content {
  position: absolute;
  left: 50%; top: 50%;
  transform: translate(-50%,-50%);
  width: 98vw; max-width: 650px; min-width: 280px;
  display: none;
  align-items: center; justify-content: center; flex-direction: column;
}
.hero-slide-content.active { display: flex; z-index: 6; }
.hero-glass-box {
  padding: 44px 6vw 38px 6vw;
  border-radius: 28px;
  box-shadow: 0 10px 32px #00bfa520, 0 1.5px 16px #fff3;
  text-align: center;
  min-width: 300px;
  max-width: 540px;
  margin: 0 auto;
  opacity: 0;
  transform: scale(0.95);
  background: rgba(255,255,255,0.38);
  box-shadow: 0 12px 44px #00bfa51c, 0 1.5px 16px #fff5;
  border-radius: 28px;
  backdrop-filter: blur(13px) saturate(1.11);
  -webkit-backdrop-filter: blur(13px) saturate(1.11);
  border: 1.3px solid rgba(255,255,255,0.21);
  border-top: 1.8px solid rgba(255,255,255,0.34);
  border-left: 1.7px solid rgba(255,255,255,0.27);
}
.hero-glass-box.anim-in {
  animation: fadeGlassIn 0.75s forwards;
}
@keyframes fadeGlassIn {
  0% { opacity: 0; transform: scale(0.93);}
  100% { opacity: 1; transform: scale(1);}
}
.hero-icon {
  font-size: 3.6rem;
  color: #00bfa5;
  margin-bottom: 15px;
  opacity: 0;
  transform: translateY(30px) scale(0.88);
  transition: color 0.25s;
}
.hero-glass-box .hero-icon-in {
  animation: iconPopIn 0.45s 0.19s forwards;
}
@keyframes iconPopIn {
  to { opacity: 1; transform: translateY(0) scale(1);}
}
.hero-glass-box h1,
.hero-glass-box p,
.hero-glass-box .hero-btn-row {
  opacity: 0;
  transform: translateY(35px);
}
.hero-glass-box .hero-headline-in {
  animation: headlineFlyIn 0.55s 0.37s forwards;
}
.hero-glass-box .hero-subheadline-in {
  animation: subheadlineIn 0.46s 0.63s forwards;
}
.hero-glass-box .hero-btns-in {
  animation: ctaIn 0.43s 1.17s forwards;
}
@keyframes headlineFlyIn {
  to { opacity:1; transform:translateY(0);}
}
@keyframes subheadlineIn {
  to { opacity:1; transform:translateY(0);}
}
@keyframes ctaIn {
  to { opacity:1; transform:translateY(0);}
}
.hero-btn-row {
  display: flex;
  gap: 2px;
  justify-content: center;
  margin-top: 18px;
  flex-wrap: wrap;
}
.hero-btn-premium {
  background: #00bfa5;
  color: #fff;
  border: none;
  border-radius: 9px;
  padding: 16px 34px;
  font-size: 1.12rem;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 4px 26px #00bfa522;
  transition: background 0.19s, color 0.13s, transform 0.15s;
  text-decoration: none;
  display: inline-block;
  letter-spacing: 0.6px;
  margin-top: 0;
}
.hero-btn-premium.alt {
  background: #f9a825;
  color: #00695c;
}
.hero-btn-premium.secondary {
  background: #fff;
  color: #00bfa5;
  border: 1.5px solid #00bfa5;
  font-weight: 700;
}
.hero-btn-premium:hover, .hero-btn-premium.secondary:hover {
  background: #28717b;
  color: #fff;
  border-color: #28717b;
  transform: translateY(-2px) scale(1.05);
}
.hero-glass-box h1 {
  font-size: 2.4rem; font-weight: 800; margin: 0 0 19px 0;
  color: #004d40; letter-spacing: 0.6px; text-shadow: 0 6px 30px #fff4, 0 1px 4px #00bfa533;
}
.hero-glass-box p {
  font-size: 1.22rem; color: #156168; margin: 0 0 26px 0; line-height: 1.35; font-weight: 500; text-shadow: 0 2px 8px #fff4;
}
.hero-dots-premium {
  position: absolute;
  left: 50%; bottom: 46px;
  transform: translateX(-50%);
  display: flex; gap: 16px; z-index: 10;
}
.hero-dot-premium {
  width: 17px; height: 17px;
  border-radius: 50%;
  background: #b2dfdb;
  border: 2px solid #00bfa5;
  cursor: pointer;
  transition: background 0.19s, transform 0.16s;
}
.hero-dot-premium.active {
  background: #00bfa5;
  transform: scale(1.24);
}
@media (max-width: 900px) {
  .goa-hero-slider-cinematic, .hero-center-content { min-height: 340px; }
  .hero-glass-box { padding: 24px 4vw 19px 4vw; }
  .hero-glass-box h1 { font-size: 1.32rem; }
  .hero-glass-box p { font-size: 0.98rem; }
  .hero-icon { font-size: 2.1rem; margin-bottom: 11px;}
}
@media (max-width: 700px) {
  .goa-hero-slider-cinematic, .hero-center-content { min-height: 210px; height: 70vh; }
  .hero-slide-content { max-width: 99vw; min-width: 0;}
  .hero-glass-box { padding: 15px 2vw 16px 2vw; border-radius: 13px; }
  .hero-dots-premium { bottom: 21px; }
  .hero-btn-row { gap: 9px; }
}
@keyframes wobbleIn {
  0% { opacity: 0; transform: scale(0.93) rotate(-3deg);}
  25% { opacity: 1; transform: scale(1.07) rotate(2deg);}
  40% { transform: scale(0.97) rotate(-1deg);}
  60% { transform: scale(1.02) rotate(2deg);}
  100% { opacity: 1; transform: scale(1) rotate(0);}
}
@keyframes wobbleOut {
  0% { opacity: 1; transform: scale(1) rotate(0);}
  20% { transform: scale(1.08) rotate(2deg);}
  40% { transform: scale(0.96) rotate(-2deg);}
  70% { transform: scale(1.07) rotate(1deg);}
  100% { opacity: 0; transform: scale(0.93) rotate(-4deg);}
}


/* ---- separator ---- */


.goa-howitworks-section-rect {
  background: #fff;
  padding: 50px 0 30px 0;
  width: 100vw;
  position: relative;
  z-index: 3;
  margin: 0;
  box-sizing: border-box;
}
.howgoa-rect-title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  margin-bottom: 32px;
}
.howgoa-titleicon {
  background: #00bfa5;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  font-size: 2.1rem;
  width: 56px;
  height: 56px;
  box-shadow: 0 6px 28px #00bfa519;
}
.howgoa-rect-title span:last-child {
  background: #00838f;
  color: #fff;
  font-size: 2rem;
  font-weight: 800;
  padding: 0 32px 2px 32px;
  border-radius: 14px;
  box-shadow: 0 2px 18px #00bfa518;
  letter-spacing: 0.5px;
  line-height: 62px;
  display: inline-block;
}
.goa-how-steps-rect {
  display: flex;
  justify-content: center;
  gap: 28px;
  max-width: 1400px;
  margin: 0 auto;
  flex-wrap: nowrap;
}
.how-step-rect {
  background: #fff;
  border-radius: 19px;
  border: 2.6px solid #00bfa5;
  box-shadow: 0 2.5px 20px #00bfa511, 0 1.5px 8px #00838f16;
  padding: 32px 14px 28px 14px;
  width: 100%;
  min-width: 0;
  max-width: 340px;
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 13px;
  margin-bottom: 18px;
  transition: transform 0.17s, box-shadow 0.17s;
  position: relative;
  border-bottom-width: 6px;
  box-sizing: border-box;
}
.how-step-rect:hover {
  transform: translateY(-7px) scale(1.045);
  box-shadow: 0 16px 50px #00bfa526, 0 1.5px 16px #ffd54f24;
  border-color: #00838f;
}
@keyframes stepPulse {
  0%, 100% { transform: scale(1);}
  50% { transform: scale(1.17);}
}
.step-num-flip {
  font-size: 1.08rem;
  font-weight: 800;
  color: #00838f;
  letter-spacing: 1.2px;
  margin-bottom: 2px;
  margin-top: -10px;
  animation: stepPulse 1.2s infinite;
  display: inline-block;
  text-align: center;
  text-shadow: 0 1.5px 8px #00bfa517;
  background: none !important;
  border-radius: 8px;
  border: 2.2px solid #00bfa5;
  padding: 3px 14px;
  box-shadow: none !important;
  white-space: nowrap;
}
.how-icon-rect {
  background: #00bfa5;
  color: #fff;
  width: 58px; height: 58px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.25rem;
  box-shadow: 0 6px 16px #00bfa519;
  min-width: 58px;
}
.how-step-title-rect {
  font-size: 1.19rem;
  font-weight: 800;
  color: #00838f;
  margin-bottom: 8px;
  line-height: 1.25;
  letter-spacing: 0.1px;
  text-align: center;
  width: 100%;
}
.how-step-desc-rect {
  font-size: 1.07rem;
  color: #444;
  line-height: 1.44;
  font-weight: 500;
  text-align: center;
  width: 100%;
}

/* ----------- Perfect 2x2 grid on mobile: CSS Grid ----------- */
@media (max-width: 700px) {
  .goa-how-steps-rect {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
    justify-items: stretch;
    align-items: stretch;
    max-width: 99vw;
    padding: 0 2vw;
  }
  .how-step-rect {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: none !important;
    box-sizing: border-box;
    margin-bottom: 0 !important;
    padding: 10px 4px 10px 4px !important; /* very little padding for tight fit */
  }
  .step-num-flip {
    font-size: 0.75rem;
    letter-spacing: 0.5px;
    padding: 1.5px 5px;
    margin-bottom: 0;
    margin-top: -5px;
    border-width: 1.1px;
  }
}

/* ----------- Stack to 1-per-row on extra small screens ----------- */
@media (max-width: 420px) {
  .goa-how-steps-rect {
    grid-template-columns: 1fr !important;
    gap: 9px;
    max-width: 99vw;
    padding: 0 1vw;
  }
  .how-step-rect {
    width: 100% !important;
    padding: 7px 2px 7px 2px !important;
  }
  .how-icon-rect { width: 32px; height: 32px; font-size: 0.93rem;}
  .step-num-flip { font-size: 0.62rem; padding: 1px 3px;}
}

/* Tablet tweaks */
@media (max-width: 1200px) {
  .goa-how-steps-rect { gap: 15px; max-width: 97vw;}
  .how-step-rect { padding: 24px 5px 19px 5px; max-width: 260px; }
  .how-icon-rect { width: 45px; height: 45px; font-size: 1.3rem;}
  .step-num-flip { font-size: 0.9rem; padding: 2px 10px; border-width: 1.6px; }
}
@media (max-width: 900px) {
  .goa-how-steps-rect { gap: 12px; }
  .how-step-rect { padding: 19px 6vw 17px 6vw; min-width: 120px; max-width: 99vw; }
  .how-icon-rect { width: 44px; height: 44px; font-size: 1.18rem;}
  .howgoa-rect-title span:last-child { font-size: 1.18rem; line-height: 42px; padding: 0 19px;}
  .howgoa-titleicon { font-size: 1.23rem; width: 36px; height: 36px;}
  .step-num-flip { font-size: 0.81rem; padding: 2px 8px; border-width: 1.3px;}
}


/* ---- separator ---- */


.goa-quote-title-wrap {
  text-align: center;
  margin-bottom: 18px;
  padding-top: 38px;
}
.goa-quote-title {
  color: #00838f;
  font-size: 2rem;
  font-weight: 800;
  letter-spacing: 0.5px;
  margin-bottom: 7px;
}
.goa-quote-desc {
  color: #444;
  font-size: 1.13rem;
  font-weight: 500;
  max-width: 540px;
  margin: 0 auto;
}
.goa-quote-btn {
  margin-top: 22px;
  padding: 15px 42px;
  background: #00bfa5;
  color: #fff;
  font-weight: 700;
  font-size: 1.19rem;
  border: none;
  border-radius: 12px;
  box-shadow: 0 2px 12px #fff;
  cursor: pointer;
  transition: background 0.17s, color 0.17s, box-shadow 0.19s;
}
.goa-quote-btn:hover {
  background: #00838f;
  color: #fff;
  box-shadow: 0 7px 18px #00838f33;
}
.goa-modal-overlay {
  display: none;
  position: fixed;
  z-index: 999999;
  left: 0; top: 0; width: 100vw; height: 100vh;
  background: rgba(12,24,44,0.17);
  align-items: center; justify-content: center;
  transition: background 0.16s;
}
.goa-modal-content {
  background: #fff;
  padding: 34px 28px 18px 28px;
  border-radius: 19px;
  width: 100%;
  max-width: 500px;
  box-shadow: 0 12px 40px #00838f1a, 0 2px 18px #00bfa519;
  position: relative;
  animation: fadeInUp 0.32s;
  max-height: 90vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
@keyframes fadeInUp {
  0% { opacity:0; transform: translateY(64px);}
  100% {opacity:1; transform: none;}
}
.goa-modal-close {
  position: absolute; right: 18px; top: 14px; font-size: 2.2rem; color: #00bfa5;
  cursor: pointer; font-weight: 700; opacity: 0.78; transition: color 0.13s;
}
.goa-modal-close:hover { color: #d03232; }
.goa-quote-form {
  overflow-y: auto;
  max-height: 72vh;
  padding-right: 2px;
  display: flex;
  flex-direction: column;
}
.goa-quote-form h3 {
  text-align: center;
  font-size: 1.38rem;
  color: #00838f;
  margin-bottom: 13px;
  font-weight: 800;
  letter-spacing: 0.4px;
}
.goa-form-row {
  display: flex;
  gap: 16px;
  margin-bottom: 13px;
}
.goa-form-row input,
.goa-form-row select,
.goa-form-row textarea {
  flex: 1;
  padding: 11px 12px;
  border-radius: 8px;
  border: 1.7px solid #00bfa543;
  font-size: 1.06rem;
  font-family: inherit;
  font-weight: 500;
  background: #f6fefd;
  color: #00838f;
  transition: border 0.16s, background 0.15s;
}
.goa-form-row input:focus,
.goa-form-row select:focus,
.goa-form-row textarea:focus {
  border: 1.7px solid #00bfa5;
  outline: none;
  background: #e0f7fa;
}
.goa-upload-label {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #00838f;
  background: #e0f7fa;
  border-radius: 7px;
  padding: 8px 14px;
  font-weight: 700;
  font-size: 1.05rem;
  cursor: pointer;
  border: 1.5px dashed #00bfa5;
  width: 100%;
}
.goa-upload-label input[type="file"] {
  display: none;
}
.goa-quote-form textarea {
  min-height: 49px; max-height: 160px; resize: vertical;
}
.goa-submit-btn {
  background: #00bfa5;
  color: #fff;
  font-weight: 800;
  font-size: 1.17rem;
  padding: 13px 0;
  border: none;
  border-radius: 11px;
  box-shadow: 0 2px 12px #fff;
  cursor: pointer;
  width: 100%;
  margin-top: 6px;
  transition: background 0.17s, box-shadow 0.17s;
}
.goa-submit-btn:hover { background: #00838f; box-shadow: 0 7px 16px #00bfa533; }
.goa-confirm-row label {
  font-size: 0.98rem; color: #444; font-weight: 500; gap:7px; display:flex; align-items:center;
}
.goa-form-row input[type="checkbox"] { width: 18px; height: 18px;}
/* Custom scroll for modal */
.goa-modal-content::-webkit-scrollbar,
.goa-quote-form::-webkit-scrollbar {
  width: 6px; background: #e0f7fa;
}
.goa-modal-content::-webkit-scrollbar-thumb,
.goa-quote-form::-webkit-scrollbar-thumb {
  background: #00bfa544; border-radius: 3px;
}
@media (max-width: 600px) {
  .goa-modal-content {
    padding: 19px 2vw 11px 2vw;
    max-width: 97vw;
  }
  .goa-quote-form h3 { font-size: 1.09rem; }
  .goa-form-row { flex-direction: column; gap: 7px; }
  .goa-modal-close { right: 8px; top: 7px; font-size: 1.6rem;}
  .goa-quote-title { font-size: 1.18rem;}
}


/* ---- separator ---- */


.goaneeds-2col-section {
  background: #fafdff;
  border-radius: 2.3em;
  box-shadow: 0 10px 44px #21dbe11b;
  padding: 44px 0 30px 0;
  max-width: 1200px;
  margin: 50px auto;
}
.goaneeds-title {
  text-align: center;
  font-size: 2.4rem;
  color: #00838f;
  font-weight: 900;
  margin-bottom: 36px;
  letter-spacing: 0.01em;
}
.goaneeds-2col-row {
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 34px;
  max-width: 1120px;
  margin: 0 auto 22px auto;
  min-height: 410px;
}
.goaneeds-2col-col {
  display: flex;
  flex-direction: column;
  gap: 38px;
  flex: 0 0 330px;
  min-width: 210px;
}
.goaneeds-2col-content {
  background: #fff;
  border-radius: 2em;
  box-shadow: 0 6px 34px #21dbe12b, 0 1.5px 9px #1ed7d91b;
  min-width: 355px; max-width: 450px;
  margin: 0 auto;
  padding: 44px 34px 30px 34px;
  min-height: 375px;
  font-family: inherit;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  position: relative;
}

.goaneeds-2col-tabbtn {
  display: flex;
  align-items: center;
  gap: 16px;
  font-family: inherit;
  font-size: 1.10rem;
  font-weight: 900;
  text-transform: uppercase;
  border-radius: 32px;
  border: none;
  padding: 20px 27px 18px 24px;
  min-width: 285px;
  background: #19cbe6;
  color: #fff;
  box-shadow: 0 11px 0 #117b8d, 0 2px 18px #1edbe86b;
  margin-bottom: 0px;
  transition: 
    box-shadow 0.18s,
    background 0.17s,
    transform 0.13s,
    color 0.13s;
  outline: none;
  cursor: pointer;
  border-bottom: 4.5px solid #0d8699;
  position: relative;
  z-index: 2;
  letter-spacing: 0.01em;
}
.goaneeds-2col-tabbtn.active, .goaneeds-2col-tabbtn:focus, .goaneeds-2col-tabbtn:hover {
  background: #15b7cd;
  color: #fff;
  box-shadow: 0 17px 0 #0e6d80, 0 6px 28px #1edbe86b;
  transform: translateY(-4px) scale(1.045);
  border-bottom: 6px solid #0d8699;
  z-index: 3;
}
.goaneeds-2col-tabbtn i {
  font-size: 2.08rem;
  margin-right: 10px;
  filter: drop-shadow(0 2px 3px #00000020);
  color: #fff;
}
.goaneeds-tabcolor1 { background: #19cbe6; box-shadow: 0 11px 0 #10798d;}
.goaneeds-tabcolor2 { background: #21afc8; box-shadow: 0 11px 0 #17698c;}
.goaneeds-tabcolor3 { background: #13c38b; box-shadow: 0 11px 0 #067b48;}
.goaneeds-tabcolor4 { background: #9555e8; box-shadow: 0 11px 0 #5b2a91;}
.goaneeds-tabcolor5 { background: #00b3f0; box-shadow: 0 11px 0 #005688;}
.goaneeds-tabcolor6 { background: #ffd600; color: #232323; box-shadow: 0 11px 0 #bda700;}
.goaneeds-tabcolor7 { background: #fc8a40; box-shadow: 0 11px 0 #b26800;}
.goaneeds-tabcolor8 { background: #fc606e; box-shadow: 0 11px 0 #b01c30;}

.goaneeds-2col-content .goaneeds-iconbar {
  display: flex;
  align-items: center;
  gap: 19px;
  margin-bottom: 7px;
}
.goaneeds-2col-content .goaneeds-iconbar i {
  font-size: 2.28rem;
  color: #fff;
  border-radius: 50%;
  width: 56px; height: 56px;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 7px 0 #16cbe2, 0 1.5px 0 #fff;
  background: linear-gradient(160deg, #16cbe2 55%, #12b2d1 100%);
}
.goaneeds-2col-content .goaneeds-title {
  font-size: 1.19rem;
  font-weight: 900;
  color: #00687b;
  margin-bottom: 1px;
}
.goaneeds-2col-content .goaneeds-who {
  font-size: .99rem;
  font-weight: 800;
  color: #234e6a;
  margin-bottom: 5px;
}
.goaneeds-2col-content .goaneeds-why {
  margin-bottom: 6px;
}
.goaneeds-2col-content .goaneeds-why ul {
  margin: 0 0 0 19px;
  padding: 0;
}
.goaneeds-2col-content .goaneeds-why li {
  margin-bottom: 2.5px;
  font-size: .99rem;
  font-weight: 500;
  color: #20556a;
}
.goaneeds-2col-content .goaneeds-docs {
  margin: 5px 0 5px 0;
  font-size: .99rem;
}
.goaneeds-2col-content .goaneeds-goa {
  background: #f5fafd;
  border-left: 6px solid #16cbe2;
  border-radius: 8px;
  padding: 8px 18px;
  color: #07848c;
  font-size: .95rem;
  margin-bottom: 4px;
  margin-top: 8px;
  font-weight: 700;
  box-shadow: 0 2px 0 #b8e2f8;
}
.goaneeds-2col-ctas {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 23px;
  margin-top: 29px;
  flex-wrap: wrap;
}
.goaneeds-cta-btn {
  display: inline-block;
  background: #fff;
  color: #00838f;
  border-radius: 15px;
  padding: 13px 23px 12px 18px;
  font-size: 1.09rem;
  font-weight: 900;
  text-decoration: none;
  border: 2.5px solid #16cbe2;
  box-shadow: 0 4px 0 #16cbe2, 0 1.5px 0 #fff;
  transition: background .12s, color .13s, box-shadow .11s;
  letter-spacing: 0.01em;
  margin-bottom: 0;
}
.goaneeds-cta-btn i { font-size: 1.1em; margin-right: 10px;}
.goaneeds-cta-btn.cta-whatsapp { color: #16b165; border-color: #16b165; box-shadow: 0 4px 0 #16b165; }
.goaneeds-cta-btn.cta-whatsapp:hover { background: #16b165; color: #fff;}
.goaneeds-cta-btn.cta-call { color: #00838f; border-color: #21c5dc; box-shadow: 0 4px 0 #21c5dc;}
.goaneeds-cta-btn.cta-quote { color: #8c1caf; border-color: #c77de8; box-shadow: 0 4px 0 #c77de8;}
.goaneeds-cta-btn:hover { background: #16cbe2; color: #fff; box-shadow: 0 1px 0 #15aee0;}

/* ---- MOBILE / RESPONSIVE ---- */
@media (max-width: 950px) {
  .goaneeds-2col-row {
    flex-direction: row;
    justify-content: center;
    gap: 9px;
    align-items: flex-start;
  }
  .goaneeds-2col-col {
    flex-direction: column;
    gap: 7px;
    margin-bottom: 0;
    min-width: 0;
    flex-basis: 50%;
    width: 50%;
    align-items: stretch;
  }
  .goaneeds-2col-col {
  flex-direction: column;
  gap: 14px;  /* Increase gap as you like (e.g., 14px or 16px) */
  margin-bottom: 0;
  min-width: 0;
  flex-basis: 50%;
  width: 50%;
  align-items: stretch;
}

  .goaneeds-2col-tabbtn i {
    font-size: 1.11rem;
    margin-right: 8px;
  }
  .goaneeds-2col-content {
    margin: 17px 0 12px 0;
    border-radius: 15px;
    padding: 18px 3vw 15px 3vw;
    min-width: unset;
    max-width: unset;
    width: 97vw;
  }
  .goaneeds-cta-btn {
    font-size: .95rem;
    padding: 10px 5vw 10px 5vw;
    border-radius: 9px;
  }
  .goaneeds-2col-ctas { gap: 8px; flex-wrap: wrap;}
}
@media (max-width: 600px) {
  .goaneeds-2col-row {
    flex-direction: column;
    gap: 0;
  }
  .goaneeds-2col-col {
    width: 100%;
    flex-basis: 100%;
    flex-direction: column;
    align-items: stretch;
    gap: 7px;
    margin-bottom: 0;
  }
  .goaneeds-2col-row {
    flex-direction: column;
  }
}

.goaneeds-2col-tabbtn {
  /* ...your existing styles... */
  transition:
    box-shadow 0.18s,
    background 0.18s,
    color 0.15s,
    border 0.15s,
    transform 0.14s;
}

/* LIFT & BOUNCE on hover/focus */
.goaneeds-2col-tabbtn:hover,
.goaneeds-2col-tabbtn:focus {
  transform: translateY(-5px) scale(1.045);
  box-shadow: 0 23px 0 rgba(25, 203, 230, 0.25), 0 7px 28px #1edbe86b;
  filter: brightness(1.07);
}

/* Optional: Quick bounce on click/tap (for touch devices) */
.goaneeds-2col-tabbtn:active {
  transform: translateY(0px) scale(0.98);
  box-shadow: 0 7px 0 rgba(25, 203, 230, 0.20), 0 2px 8px #1edbe833;
}



/* ---- separator ---- */



.goa-section-title-wrap-proz {
  text-align: center;
  background: #e9fdfb;
  padding: 38px 0 18px 0;
  margin-bottom: 0px;
}
.goa-section-title-proz {
  display: inline-block;
  border: 3px solid #00bfa5;
  background: #fff;
  color: #00838f;
  font-size: 2.1rem;
  font-family: 'Montserrat', Arial, sans-serif;
  font-weight: 800;
  letter-spacing: 0.7px;
  border-radius: 19px;
  padding: 18px 32px 12px 32px;
  margin-bottom: 19px;
  box-shadow: 0 2px 18px #00bfa513;
}
.goa-section-desc-proz {
  margin: 0 auto;
  max-width: 680px;
}
.goa-section-desc-proz .desc-line1 {
  color: #00696b;
  font-family: 'Nunito', Arial, sans-serif;
  font-size: 1.17rem;
  font-weight: 600;
  margin-bottom: 9px;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
.goa-section-desc-proz .desc-line2 {
  color: #363636;
  font-family: 'Roboto', Arial, sans-serif;
  font-size: 1.07rem;
  font-weight: 500;
  margin-bottom: 3px;
  letter-spacing: 0.02em;
  line-height: 1.38;
}
@media (max-width:700px) {
  .goa-section-title-proz {
    font-size: 1.2rem;
    padding: 11px 12vw 7px 12vw;
  }
  .goa-section-desc-proz { max-width: 97vw;}
}


/* ---- separator ---- */


.goa-usp-section {
  background: #e9fdfb;
  padding: 50px 0 52px 0;
  width: 100vw;
  box-sizing: border-box;
  margin: 0;
}
.goa-usp-carousel {
  position: relative;
  max-width: 750px;
  margin: 0 auto 38px auto;
  background: #fff;
  border-radius: 22px;
  box-shadow: 0 6px 34px #00bfa520, 0 1.5px 10px #00838f11;
  overflow: hidden;
  padding: 32px 0 26px 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.carousel-inner {
  display: flex;
  flex-wrap: nowrap;
  transition: transform 0.4s cubic-bezier(.45,1.7,.45,1);
  width: 100%;
  max-width: 560px;
  min-height: 136px;
  align-items: center;
  overflow: hidden;
  position: relative;
}
.carousel-item {
  flex: 0 0 100%;
  max-width: 100%;
  opacity: 0;
  transition: opacity 0.37s cubic-bezier(.62,.16,.54,1.4);
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  padding: 0 17px;
  text-align: center;
  background: transparent;
  z-index: 1;
  pointer-events: none;
}
.carousel-item.active {
  opacity: 1;
  position: relative;
  pointer-events: all;
  z-index: 2;
}
/* --- Zoom in entry animation --- */
@keyframes uspZoomInEntry {
  0%   { opacity: 0; transform: scale(0.6);}
  70%  { opacity: 1; transform: scale(1.08);}
  100% { opacity: 1; transform: scale(1);}
}
.carousel-item.zoom-in-entry {
  animation: uspZoomInEntry 0.54s cubic-bezier(.31,1.4,.52,1.01) both;
  z-index: 2 !important;
}
/* --- Zoom out exit animation --- */
@keyframes uspZoomOutExit {
  0%   { opacity: 1; transform: scale(1);}
  100% { opacity: 0; transform: scale(0.7);}
}
.carousel-item.zoom-out-exit {
  animation: uspZoomOutExit 0.44s cubic-bezier(.47,1.36,.55,1.13) forwards;
  z-index: 1 !important;
}
.usp-icon {
  font-size: 2.7rem;
  color: #00838f;
  margin-bottom: 13px;
  animation: uspIconPop 1.2s;
}
@keyframes uspIconPop {
  0% { transform: scale(0.72);}
  60% { transform: scale(1.18);}
  100% { transform: scale(1);}
}
.usp-title {
  font-size: 1.3rem;
  font-weight: 800;
  color: #00bfa5;
  margin-bottom: 4px;
  letter-spacing: 0.4px;
}
.usp-desc {
  font-size: 1.07rem;
  color: #444;
  line-height: 1.36;
  margin-bottom: 0;
  font-weight: 500;
}
.carousel-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: #00838f;
  color: #fff;
  border: none;
  border-radius: 50%;
  width: 42px;
  height: 42px;
  font-size: 1.4rem;
  cursor: pointer;
  box-shadow: 0 3px 12px #fff;
  z-index: 10;
  transition: background 0.18s;
}
.carousel-nav.prev { left: 16px; }
.carousel-nav.next { right: 16px; }
.carousel-nav:hover { background: #00bfa5;}
/* FLIP CARD GRID (2x5 for all screens below 800px) */
.goa-usp-flipgrid {
  margin: 0 auto;
  max-width: 1200px;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-template-rows: repeat(2, 1fr);
  gap: 27px 25px;
  justify-items: center;
}
.usp-flip-card {
  background: none;
  width: 233px;
  min-width: 145px;
  height: 144px;
  perspective: 1100px;
  border-radius: 20px;
  transition: box-shadow 0.19s, transform 0.19s;
  box-shadow: 0 1.5px 10px #00838f13;
}
.usp-flip-card:hover,
.usp-flip-card:focus-within {
  box-shadow: 0 7px 36px #00bfa533, 0 2.5px 15px #00838f17;
  transform: translateY(-5px) scale(1.02);
}
.usp-flip-inner {
  position: relative;
  width: 100%;
  height: 100%;
  text-align: center;
  transition: transform 0.72s cubic-bezier(.64,1.4,.34,.96);
  transform-style: preserve-3d;
  cursor: pointer;
}
.usp-flip-card:hover .usp-flip-inner,
.usp-flip-card:focus-within .usp-flip-inner {
  transform: rotateY(180deg);
}
.usp-flip-front, .usp-flip-back {
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
  border-radius: 20px;
  box-shadow: 0 2.5px 14px #00bfa512;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding: 26px 16px 18px 16px;
  font-size: 1.07rem;
  font-weight: 600;
  color: #00838f;
  background: #fff;
  border: 1.8px solid #00bfa524;
  transition: background 0.18s, color 0.18s;
}
.usp-flip-front .usp-flip-badge {
  background: #e0f7fa;
  color: #00bfa5;
  font-size: 2.05rem;
  width: 48px; height: 48px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 10px auto;
  box-shadow: 0 2px 9px #00bfa513;
  border: 1.5px solid #00bfa555;
  transition: background 0.18s, color 0.18s;
}
.usp-flip-front span {
  font-size: 1.11rem;
  font-weight: 700;
  color: #00838f;
  letter-spacing: 0.1px;
  margin-top: 7px;
}
.usp-flip-back {
  background: #00bfa5;
  color: #fff;
  font-weight: 500;
  transform: rotateY(180deg);
  font-size: 1.01rem;
  padding: 28px 16px 14px 16px;
  box-shadow: 0 2.5px 15px #00bfa522;
  border: 1.7px solid #00838f44;
  transition: background 0.18s, color 0.18s;
  align-items: center;
  justify-content: center;
  display: flex;
}
.usp-flip-back span {
  line-height: 1.41;
  font-size: 1.01rem;
  font-weight: 500;
  letter-spacing: 0.04em;
}

/* 2x5 layout on all screens below 800px! */
@media (max-width: 1200px) {
  .goa-usp-flipgrid { grid-template-columns: repeat(2, 1fr) !important; grid-template-rows: repeat(5, 1fr) !important;}
  .usp-flip-card { width: 97%; min-width: 95px; height: 114px;}
}
@media (max-width: 800px) {
  .goa-usp-flipgrid { grid-template-columns: 1fr 1fr !important; grid-template-rows: repeat(5, 1fr) !important; gap: 12px 7px;}
  .usp-flip-card { width: 98%; min-width: 80px; height: 97px;}
  .usp-flip-front .usp-flip-badge { width: 34px; height: 34px; font-size: 1.19rem;}
  .usp-flip-front span { font-size: 0.91rem;}
  .usp-flip-back span { font-size: 0.87rem;}
}


/* ---- separator ---- */


.proz3d-badge-icon i {
  font-family: "Font Awesome 6 Free" !important;
  font-style: normal;
  font-weight: 900 !important;
  font-size: 2.3rem !important;
  display: inline-block !important;
  color: inherit !important;
  visibility: visible !important;
  width: auto !important;
  height: auto !important;
  line-height: normal !important;
}

/* --- Same CSS as before --- */
/* Montserrat everywhere */
.proz3d-section, .proz3d-section * {
  font-family: 'Montserrat', Arial, sans-serif !important;
  font-weight: 500;
}


/* Section Container */
.proz3d-section {
  background: #fff;
  border-radius: 34px;
  margin: 38px 0 34px 0;
  padding: 52px 12px 38px 12px;
  box-shadow: 0 12px 44px #a3bcda18, 0 1px 0 #fff inset;
}

.proz3d-title-wrap { text-align:center; margin-bottom:28px; }
.proz3d-title span {
  display:inline-block;
  background: #00bfa5;
  color: #fff;
  border-radius: 18px;
  box-shadow: 0 6px 0 #114561, 0 2px 0 #fff7 inset;
  padding: 14px 38px 10px 38px;
  text-shadow: 0 2px 6px #18213a55, 0 2px 2px #fff;
  font-size:2.1rem;
  font-weight: 900;
  letter-spacing: 1.1px;
}

.proz3d-columns {
  display: flex;
  gap: 44px;
  justify-content: space-between;
  align-items: flex-start;
  max-width: 1260px;
  margin: 0 auto;
  flex-wrap: wrap;
}

/* Just a little extra right padding on text for balance */
.proz3d-left,
.proz3d-right {
  flex: 1 1 330px; min-width:310px; max-width:500px;
  font-size: 1.08rem; color: #18303a; font-weight: 600;
  letter-spacing:0.07px; line-height:1.8; padding-left:38px;
}
.proz3d-left b { color: #00838f; font-weight: 900;}
.proz3d-btn {
  display:inline-block;
  background: #17587b;
  color: #fff !important;
  font-weight: 900;
  font-size: 1.14rem;
  border-radius: 38px;
  box-shadow: 0 6px 0 #0e3b53, 0 12px 36px #17587b24;
  padding: 16px 38px 14px 38px;
  margin-top: 18px;
  text-decoration: none;
  border: none; outline: none;
  letter-spacing: 0.7px; position: relative;
  text-shadow: 0 2px 12px #fff, 0 2px 2px #0c2e3888;
  overflow: hidden;
  transition: transform 0.13s, box-shadow 0.13s, background 0.22s;
}
.proz3d-btn:after {
  content:'';
  display:block; position:absolute; left:23px; top:10px; width:44%; height:17%;
  background:rgba(255,255,255,0.33);
  border-radius:22px 16px 16px 22px;
  box-shadow:0 2px 7px #fff6;
  pointer-events:none;
  filter: blur(1.2px);
}
.proz3d-btn:hover {
  background: #199672;
  box-shadow: 0 11px 0 #0d4533, 0 18px 48px #49b6ff88;
  transform: translateY(-2px) scale(1.04);
}

/* BADGES GRID (ALWAYS 2 columns) */
.proz3d-badges-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 38px 58px;
  align-items: start;
  min-width: 320px;
  max-width: 570px;
  flex: 1 1 410px;
}

.proz3d-badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: #fff;
  border: 3.5px solid #eee;
  border-radius: 28px;
  padding: 20px 18px 15px 18px;
  box-shadow: 0 6px 24px #1a627911, 0 2px 0 #fff7 inset;
  min-width: 150px;
  width: 100%;
  margin: 0 auto;
  transition: padding 0.2s, border-radius 0.2s, box-shadow 0.18s;
  position:relative;
}
.proz3d-badge:hover {
  box-shadow: 0 15px 28px #19967225;
  border-color: #c6e6ff;
  transform: translateY(-4px) scale(1.032);
}
.proz3d-badge-icon {
  width: 62px; height: 62px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  margin-bottom: 12px;
  position: relative;
  font-size: 2.16rem;
  color: #fff;
  box-shadow: 0 5px 17px #1a627933, 0 2px 1px #fff inset;
  background: #16697a;
}
.proz3d-gloss {
  content: "";
  display: block;
  position: absolute;
  left: 13px; top: 10px; width: 27px; height: 14px;
  background: linear-gradient(120deg,rgba(255,255,255,0.8) 30%,rgba(255,255,255,0.13) 100%);
  border-radius: 12px 12px 11px 13px;
  filter: blur(0.7px);
  pointer-events: none;
  z-index: 2;
  opacity: 0.98;
}
.rotate-left  { transform: rotate(-15deg);}
.rotate-right { transform: rotate(12deg);}
.proz3d-badge-title {
  font-weight: 900; font-size: 1.07rem; color: #19434b; margin-bottom: 2px; margin-top: 2px;
  text-align: center; text-shadow: 0 1px 3px #d3f6ff55;
}
.proz3d-badge-desc {
  font-size: 0.96rem;
  color: #245764;
  font-weight: 500;
  text-align: center;
  line-height: 1.38;
  text-shadow: 0 1px 3px #d3f6ff44;
}

/* Individual badge color themes */
.badge-tealblue  { border-color: #16697a !important; }
.badge-tealblue .proz3d-badge-icon { background: #16697a; }
.badge-tealgreen { border-color: #179879 !important; }
.badge-tealgreen .proz3d-badge-icon { background: #179879; }
.badge-gold      { border-color: #ffc700 !important; }
.badge-gold .proz3d-badge-icon { background: #ffc700; color: #fff; }
.badge-black     { border-color: #222 !important; }
.badge-black .proz3d-badge-icon { background: #222; color: #ffe56b; }
.badge-silver    { border-color: #bbb !important; }
.badge-silver .proz3d-badge-icon { background: #e6e6e6; color: #1b405d; }
.badge-orange    { border-color: #ff9800 !important; }
.badge-orange .proz3d-badge-icon { background: #ff9800; color: #fff; }
.badge-yellow    { border-color: #ffe278 !important; }
.badge-yellow .proz3d-badge-icon { background: #ffe278; color: #b3980c; }

@media (max-width: 1100px) {
  .proz3d-columns { flex-direction: column; gap: 26px; }
  .proz3d-badges-grid { max-width: 100vw; }
  .proz3d-left,
  .proz3d-right { padding-left:0 !important; }
}
@media (max-width: 700px) {
  .proz3d-title span { font-size: 1.11rem; padding: 12px 13px 6px 13px; }
  .proz3d-badges-grid { grid-template-columns: 1fr 1fr; gap: 18px 28px; min-width: 0;}
  .proz3d-badge { min-width: 0; padding: 11px 6px 7px 6px;}
  .proz3d-badge-title { font-size: 1rem;}
  .proz3d-badge-desc { font-size: 0.91rem;}
  .proz3d-badge-icon { width: 40px; height: 40px; font-size: 1.25rem;}
  .proz3d-left,
  .proz3d-right { font-size: 0.98rem; padding-left:0; }
  .proz3d-columns { gap:14px;}
}


/* ---- separator ---- */


.doc-badge.goa-special {
  background: #fffbe7;
  color: #e99a18;
  font-weight: 900;
  border: 1.5px solid #ffe48c;
  box-shadow: 0 0 0 0 #ffe48c;
  animation: goaglow 1.7s ease-in-out infinite alternate;
  position: relative;
  padding-left: 8px;
}
.doc-badge.goa-special .goa-icon {
  font-size: 1.13em;
  vertical-align: -1.5px;
  margin-right: 3px;
}
@keyframes goaglow {
  from { box-shadow: 0 0 0 0 #ffe48c, 0 0 5px 2px #fffbe7; }
  to   { box-shadow: 0 0 10px 5px #ffe48c, 0 0 7px 2.5px #fffbe7; }
}

:root {
  --goa-teal: #00b7a6;
  --goa-blue: #00838f;
  --goa-green: #22b573;
  --goa-orange: #ff8d22;
  --goa-red: #fa4c45;
  --goa-purple: #9347d9;
  --goa-yellow: #ffe200;
  --card-bg: #fff;
  --border1: #00b7a655;
  --border2: #ff8d2255;
  --border3: #22b57355;
  --border4: #9347d955;
  --border5: #fa4c4555;
  --border6: #ffe20055;
}
/* --- Dhalil to Degree Title --- */
.d2d-title-wrap {
  max-width: 800px; 
  margin: 0 auto 36px auto; 
  text-align: center;
}
.d2d-title {
  display: inline-block;
  font-family: 'Montserrat', Arial, sans-serif;
  font-size: 2.65rem;
  font-weight: 900;
  color: #fff;
  background: #00b7a6;
  border-radius: 24px;
  padding: 24px 42px 20px 42px;
  box-shadow: 0 9px 38px -8px #00838fa8, 0 4px 0 #00838f, 0 0px 0px #fff;
  letter-spacing: 0.3px;
  position: relative;
  z-index: 1;
  transform: skew(-2deg);
  text-shadow: 0 4px 16px #0068736a, 0 1px 0 #007b8a;
  margin-bottom: 0;
}
.d2d-title .icon {
  font-size: 2.3rem; 
  margin-right: 19px; 
  vertical-align: -6px; 
  filter: drop-shadow(0 2px 0 #fff7);
}
.d2d-sub {
  display: block;
  font-size: 1.32rem;
  color: #00b7a6;
  font-weight: 700;
  margin: 17px auto 0 auto;
  letter-spacing: 0.2px;
  background: #fff;
  border-radius: 11px;
  padding: 8px 22px 9px 22px;
  box-shadow: 0 3px 13px #00838f19;
  max-width: 420px;
  line-height: 1.36;
  text-shadow: 0 1px 0 #e0f7fa;
}
@media (max-width: 700px) {
  .d2d-title { 
    font-size: 1.28rem; 
    padding: 12px 7vw 13px 7vw; 
    border-radius: 13px;
  }
  .d2d-title .icon { font-size: 1.39rem; margin-right: 9px;}
  .d2d-sub {font-size:1.03rem;padding:7px 3vw 7px 3vw;}
}
/* --- Accordion Styles --- */
.doc-accordion-section {
  max-width: 900px;
  margin: 0 auto 54px auto;
  background: #fff;
  border-radius: 20px;
  padding: 0 15px 36px 15px;
  box-shadow: 0 7px 38px -9px #00838f25;
}
.doc-acc-desc {
  font-size: 1.13rem;
  color: #464f57;
  text-align: center;
  margin-bottom: 32px;
  max-width: 620px;
  margin-left: auto;
  margin-right: auto;
}
.doc-accordion {
  border-radius: 16px;
}
.doc-acc-item {
  margin-bottom: 18px;
  border-radius: 14px;
  box-shadow: 0 2px 10px #c7e7e835;
  border: 4px solid transparent;
  transition: border 0.3s;
  background: var(--card-bg);
}
.doc-acc-item:nth-child(1) { border-color: var(--border1);}
.doc-acc-item:nth-child(2) { border-color: var(--border2);}
.doc-acc-item:nth-child(3) { border-color: var(--border3);}
.doc-acc-item:nth-child(4) { border-color: var(--border4);}
.doc-acc-item:nth-child(5) { border-color: var(--border5);}
.doc-acc-item:nth-child(6) { border-color: var(--border6);}
.doc-acc-item:nth-child(7) { border-color: var(--border2);}
.doc-acc-item:nth-child(8) { border-color: var(--border3);}
.doc-acc-item:last-child { margin-bottom: 0; }
.doc-acc-header {
  padding: 0;
  cursor: pointer;
  font-weight: 800;
  color: #fff;
  font-size: 1.18rem;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  background: none;
  border: none;
  outline: none;
  position: relative;
  min-height: 64px;
  transition: box-shadow 0.2s;
  margin: 0;
}
/* Tilt styles - only skew, no rotation! */
.doc-acc-btn {
  font-family: 'Montserrat', Arial, sans-serif;
  background: var(--goa-blue);
  color: #fff;
  border: none;
  padding: 15px 30px 15px 55px;
  border-radius: 16px;
  margin: 0 0 0 0;
  font-size: 1.19rem;
  font-weight: 900;
  box-shadow: 0 6px 0 #00757e, 0 4px 18px #00b7a620;
  display: flex; align-items: center;
  position: relative;
  z-index:2;
  letter-spacing:0.3px;
  cursor: pointer;
  transition: background 0.15s, transform 0.17s;
}
.doc-acc-btn .icon {
  font-size: 1.44rem; margin-right: 17px; filter: drop-shadow(0 2px 0 #fff5);
}
.doc-acc-btn .arrow {
  margin-left: 15px; font-size:1.33rem; color: #fff; transition: transform .33s;
}
.doc-acc-header.open .arrow { transform: rotate(90deg) scale(1.07); }
.doc-acc-header:active .doc-acc-btn { transform: scale(0.99);}
.doc-acc-btn.land { transform: skew(-5deg);}
.doc-acc-btn.personal { background: var(--goa-orange); box-shadow:0 6px 0 #c45b08,0 4px 18px #ff8d2221; transform: skew(6deg);}
.doc-acc-btn.edu { background: var(--goa-green); box-shadow:0 6px 0 #159a54,0 4px 18px #22b57315; transform: skew(-4deg);}
.doc-acc-btn.legal { background: var(--goa-purple); box-shadow:0 6px 0 #694299,0 4px 18px #9347d914; transform: skew(5deg);}
.doc-acc-btn.fin { background: var(--goa-red); box-shadow:0 6px 0 #b72418,0 4px 18px #fa4c4516; transform: skew(-6deg);}
.doc-acc-btn.med { background: var(--goa-yellow); color:#3e3d1b; box-shadow:0 6px 0 #bfb70a,0 4px 18px #ffe20017; transform: skew(4deg);}
.doc-acc-btn.imm { background: #1e90ff; transform: skew(-4deg);}
.doc-acc-btn.misc { background: #4c6870; transform: skew(6deg);}
.doc-acc-content {
  display: none;
  padding: 18px 20px 22px 34px;
  font-size: 1.09rem;
  color: #234;
  background: #f8fdff;
  border-radius: 0 0 10px 10px;
  border-left: 6px solid #00b7a61a;
  margin-top:-7px;
  animation: fadeIn .48s;
  box-shadow:0 2px 16px #00718413;
}
@keyframes fadeIn { from { opacity:0; margin-top:20px; } to { opacity:1; margin-top:0; } }
.doc-list { list-style: none; padding: 0; margin: 0; columns: 2; column-gap: 32px;}
.doc-list li {
  background: #fff;
  margin-bottom: 7px;
  border-radius: 7px;
  padding: 9px 12px 8px 14px;
  box-shadow: 0 1px 6px #00838f0c;
  font-weight: 500;
  border-left: 5px solid #e0f7fa;
  transition: box-shadow .13s, border-color .18s;
  position:relative;
  line-height: 1.34;
}
.doc-list li:last-child { margin-bottom: 0; }
.doc-local { font-weight: 800; color: #00838f; letter-spacing:0.15px;}
.doc-badge {
  display: inline-block;
  background: #e0f7fa;
  color: #007b8a;
  font-size: 0.93em;
  padding: 2.5px 11px;
  border-radius: 7px;
  margin-left: 7px;
  font-weight:600;
  position: relative;
  top: -1.5px;
  letter-spacing:0.2px;
}
#show-all-btn {
  display:block; margin: 26px auto 0 auto;
  padding:13px 34px; font-size:1.19rem; font-weight:800; border-radius:13px; border:none;
  background: linear-gradient(#fff, #fff) padding-box, var(--goa-blue) border-box;
  color: var(--goa-blue); box-shadow:0 6px 18px #00b7a611; cursor:pointer;
  border: 3.5px solid var(--goa-blue);
  letter-spacing:0.35px; transition: background 0.2s, color .16s, border .19s;
  outline:none;
  position:relative;
}
#show-all-btn:hover { color:#fff; background:var(--goa-blue);}
#show-all-btn:active {transform:scale(0.96);}
@media (max-width:900px) {.doc-accordion-section{padding:10px 3vw 20px 3vw;}}
@media (max-width:700px) {
  .doc-list { columns:1; }
  .doc-acc-content { font-size: 0.98rem; padding: 12px 5vw 14px 6vw;}
}


/* ---- separator ---- */


.goa-languages-section,
.goa-languages-section * {
  font-family: 'Nunito', Arial, sans-serif !important;
}

.section-header { text-align: center; margin-bottom: 30px; }
.section-title { font-size: 2.5rem; color: #004d61; font-weight: bold; }
.section-description { font-size: 1.1rem; color: #555; max-width: 750px; margin: auto; }
.tabs { display: flex; justify-content: center; margin-bottom: 20px; flex-wrap: wrap; }
.tablinks { padding: 10px 25px; cursor: pointer; border: none; background-color: #e7f5f8; color: #004d61; font-weight: bold; border-radius: 5px; margin: 0 5px; font-size: 1.3rem; }
.tablinks.active { background-color: #00838f; color: #fff; }

.tabcontent {
  display: none;
  flex-direction: column;
  align-items: center;
  padding-bottom: 24px;
  position: relative;
}
.tabcontent.active { display: flex; }

.flip-cards-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  width: 100%;
}

.flip-card {
  width: 250px;
  height: 440px;
  perspective: 1000px;
  border: 2px solid #b2d8dc;
  border-radius: 14px;
  box-shadow: 0 6px 12px rgba(0,0,0,0.15);
  background: #fff;
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  margin-bottom: 0;
  padding-top: 1px; /* space for tag/nail/thread */
  box-sizing: border-box;
}

.flip-card:hover { transform: scale(1.03); z-index: 999; }
.flip-card-inner {
  width: 100%;
  height: 100%;
  transition: transform 0.8s;
  transform-style: preserve-3d;
  transform: rotateX(0deg);
}
.flip-card:hover .flip-card-inner { transform: rotateX(180deg); }

.flip-card-front, .flip-card-back {
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 25px;
  color: #000;
  overflow: visible !important;
  top: 0; left: 0;
}

.flip-card-front { background-color: #00838f; z-index: 2; }
.flip-card-back {
  background-color: #00bfa5;
  transform: rotateX(180deg);
  z-index: 1;
}

/* Hide the price tag, nail, and thread on the back (never visible, never mirrored) */
.flip-card-back .rect-price-tag,
.flip-card-back .nail-hole,
.flip-card-back .nail,
.flip-card-back .thread-svg {
  display: none !important;
}

.flag-icon { width: 45px; margin-bottom: 15px; }
.flip-card h3 { font-size: 1.4rem; }

.flip-card-back h4 {
  margin-bottom: 6px;
  font-size: 1.05rem;
  border: 1px solid #a7ffeb;
  width: 100%;
  padding: 6px;
  border-radius: 6px;
  text-align: center;
  background-color: rgba(255,255,255,0.05);
}
.flip-card-back p {
  font-size: 1.0rem;
  margin-bottom: 10px;
  line-height: 1.2;
  text-align: center;
  padding: 0 8px;
}
.flip-card-back .cta-links {
  display: flex;
  gap: 10px;
  margin-top: 10px;
  flex-wrap: wrap;
  justify-content: center;
}
.flip-card-back .cta-links a {
  border: 2px solid #a7ffeb;
  border-radius: 8px;
  padding: 8px 12px;
  text-decoration: none;
  color: #a7ffeb;
  font-weight: 700;
  font-size: 0.9rem;
  background-color: rgba(255,255,255,0.1);
  transition: background 0.3s, color 0.3s;
}
.flip-card-back .cta-links a:hover { background-color: #a7ffeb; color: #006064; }
/* --- Price Tag, Nail, Thread (show only on front) --- */
.nail-hole {
  position: absolute;
  top: 17px;
  left: 50%;
  transform: translateX(-50%);
  width: 7px;
  height: 7px;
  background: #fff;
  border-radius: 50%;
  z-index: 10;
  box-shadow: 0 0 3px #bbb;
}
.nail {
  position: absolute;
  top: 14px;
  left: 50%;
  transform: translateX(-50%);
  width: 13px;
  height: 13px;
  background: #222;
  border-radius: 50%;
  box-shadow: 0 0 0 2px #fff, 0 2px 6px #0004;
  z-index: 11;
  border: 1.5px solid #444;
}
.thread-svg {
  position: absolute;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 65px;
  z-index: 10;
  pointer-events: none;
}
.rect-price-tag {
  position: absolute;
  top: 37px;
  left: 50%;
  transform: translateX(-50%);
  width: 120px;
  height: 68px;
  background: #ff3d00;
  border-radius: 8px;
  border: 2.5px solid #fff;
  box-shadow: 0 4px 15px rgba(0,0,0,0.12);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding-top: 11px;
  z-index: 12;
}
.tag-hole {
  position: absolute;
  top: -1.5px;
  left: 50%;
  transform: translateX(-50%);
  width: 3px;
  height: 3px;
  background: #fff;
  border-radius: 50%;
  border: 1px solid #d3a87d;
  box-shadow: 0 1px 2px #0003;
  z-index: 20;
}
.tag-heading {
  color: #fff;
  font-weight: bold;
  font-size: 0.81rem;
  text-transform: uppercase;
  letter-spacing: 0.01em;
  line-height: 1.2;
  margin-top: 8px;
  margin-bottom: 2px;
  text-align: center;
  padding: 0 3px;
}
.tag-details {
  color: #fff;
  background: #fff;
  color: #ff3d00;
  border-radius: 4px;
  padding: 3px 7px 2.5px 7px;
  font-size: 0.89rem;
  margin-top: 7px;
  font-weight: bold;
  line-height: 1.1;
  text-align: center;
}

/* Responsive Grid & Card Adjustments */
@media (min-width: 769px) {
  .flip-cards-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
    justify-items: center;
  }
  .flip-card {
    width: 100%;
    max-width: 260px;
    min-width: 220px;
  }
}

@media (max-width: 768px) {
  .flip-cards-row { gap: 12px; }
  .flip-card {
    flex: 1 1 calc(50% - 12px);
    max-width: 240px; min-width: 164px;
    height: 460px;
    padding-top: 68px; /* more space for price tag on mobile */
  }
  .flip-card-back p, .flip-card-back h4 {
    line-height: 0.95 !important;
  }
}

/* Show/hide logic for collapsed/expanded views */
.flip-cards-row .flip-card { display: none; }
.tabcontent.showing-less .flip-cards-row .flip-card.less-card { display: flex; }
.tabcontent.showing-all .flip-cards-row .flip-card { display: flex; }

.show-more-toggle {
  width: 100%; max-width: 340px; margin: 60px auto 0 auto; display: block;
  padding: 14px 0; font-size: 1.08rem; background: #00838f; color: #fff;
  border: none; border-radius: 24px; cursor: pointer; font-weight: bold;
  box-shadow: 0 2px 6px rgba(0,0,0,0.07); transition: background 0.2s;
}
.show-more-toggle:hover { background: #00bfa5; }

.langcards-note i.fa-solid,
.langcards-note i[class^="fa-"],
.langcards-note i[class*=" fa-"] {
  font-family: "Font Awesome 6 Free" !important;
  font-weight: 900 !important;
  font-style: normal !important;
  font-variant: normal !important;
  text-rendering: auto !important;
  display: inline-block !important;
  vertical-align: middle !important;
}





/* ---- separator ---- */


/* Premium note block */
.langcards-note-cta-block {
  max-width: 680px;
  margin: 50px auto 0 auto;
  padding: 32px 20px 28px 20px;
  background: #fff;
  border-radius: 22px;
  box-shadow: 0 8px 32px rgba(0,131,143,0.08), 0 1.5px 5px rgba(0,0,0,0.05);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 22px;
  border: 1.5px solid #b2d8dc;
}

.langcards-note {
  display: flex;
  align-items: flex-start;
  gap: 13px;
  font-size: 1.13rem;
  color: #005963;
  background: #eaf7fa;
  border-radius: 14px;
  padding: 14px 16px;
  box-shadow: 0 1.5px 6px rgba(0,131,143,0.08);
  font-weight: 500;
  line-height: 1.6;
  border: 1.2px solid #b2d8dc;
  max-width: 620px;
}
.langcards-note i {
  color: #0ea5e9;
  font-size: 1.55em;
  margin-top: 1.5px;
}
.langcards-note b {
  color: #00796b;
  font-weight: 700;
}

.langcards-cta-row {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}
.langcards-cta-q {
  font-size: 1.08rem;
  color: #333;
  font-weight: 600;
  margin-bottom: 2px;
}

/* 3D Rectangle CTA Button with Shimmer */
.lang-cta-btn {
  display: inline-block;
  padding: 15px 34px;
  border: none;
  border-radius: 14px;
  background: linear-gradient(180deg, #00bfa5 80%, #00838f 100%);
  box-shadow: 0 6px 24px -4px #00bfa533, 0 2.5px 0 #00796b, 0 0.5px 0 #fff inset;
  color: #fff;
  font-size: 1.18rem;
  font-weight: 700;
  cursor: pointer;
  transition: transform 0.12s, box-shadow 0.16s, background 0.2s;
  position: relative;
  outline: none;
  min-width: 268px;
  min-height: 54px;
}
.lang-cta-btn:active {
  transform: scale(0.97);
  box-shadow: 0 2px 10px -2px #00838f44;
  background: linear-gradient(180deg, #00838f 80%, #00bfa5 100%);
}
.lang-cta-btn .cta-btn-txt {
  position: relative;
  background: linear-gradient(90deg, #fff 0%, #fff 38%, #ffe082 50%, #fff 62%, #fff 100%);
  background-size: 230% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: shimmer-text 2.2s linear infinite;
  font-weight: 800;
  letter-spacing: 0.03em;
}

@keyframes shimmer-text {
  0% { background-position: -120% 0; }
  100% { background-position: 220% 0; }
}

/* Responsive */
@media (max-width: 700px) {
  .langcards-note-cta-block { padding: 22px 6px 20px 6px; }
  .langcards-note { font-size: 0.99rem; }
  .langcards-cta-q { font-size: 0.98rem; }
  .lang-cta-btn { font-size: 1rem; min-width: 185px; padding: 13px 12px; }
}


/* ---- separator ---- */


/* ========== INDEPENDENT PREMIUM QUICK CTA SECTION CSS WITH ICONS ========== */
#goa-quick-cta-section {
  background: #f9fcfd;
  padding: 0;
  margin: 44px 0 0 0;
}
.goa-quick-cta-block {
  max-width: 850px;
  margin: 0 auto;
  background: #fff;
  border: 2.5px solid #23ce8e;
  border-radius: 26px;
  box-shadow: 0 6px 36px -12px #00838f19;
  padding: 34px 28px 28px 28px;
  text-align: center;
  position: relative;
}
.goa-quick-cta-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin: 0 0 3px 0;
}
.goa-quick-cta-q {
  font-size: 1.17rem;
  font-weight: 800;
  color: #00838f;
  margin-right: 10px;
  letter-spacing: 0.1px;
  flex-shrink: 1;
  min-width: 170px;
  text-align: right;
}
.goa-quick-cta-btn {
  background: #00838f;
  color: #fff;
  border: none;
  border-radius: 26px;
  padding: 10px 22px 10px 18px;
  font-size: 1.08rem;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 2px 12px -2px #00838f14;
  margin-bottom: 5px;
  letter-spacing: 0.5px;
  transition: background 0.16s, transform 0.12s;
  outline: none;
  border: 2px solid #00838f;
  flex-shrink: 1;
  white-space: nowrap;
  display: flex;
  align-items: center;
  gap: 7px;
}
.goa-quick-cta-btn i {
  font-size: 1.13em;
  margin-right: 5px;
  opacity: 0.93;
}
.goa-quick-cta-btn:hover,
.goa-quick-cta-btn:focus {
  background: #23ce8e;
  color: #004d61;
  border-color: #23ce8e;
  transform: translateY(-2px) scale(1.04);
}
@media (max-width: 700px) {
  .goa-quick-cta-block { max-width: 97vw; padding: 24px 4vw 20px 4vw; }
  .goa-quick-cta-row { gap: 8px; }
  .goa-quick-cta-btn { padding: 10px 13px 10px 13px; font-size: 1.02rem; }
  .goa-quick-cta-q { font-size: 1.02rem; min-width: 120px;}
}
@media (max-width: 520px) {
  .goa-quick-cta-row { flex-direction: column; gap: 11px; align-items: stretch;}
  .goa-quick-cta-q { margin-right: 0; margin-bottom: 4px; text-align:center;}
  .goa-quick-cta-btn { justify-content: center;}
}


/* ---- separator ---- */


/* 3D FAQ Title */
.faq3d-title-wrap {
  display: flex; justify-content: center; margin-bottom: 30px;
}
.faq3d-title-main {
  display: flex; align-items: center;
  background: linear-gradient(180deg, #e23232 80%, #b71c1c 100%);
  border-radius: 46px 80px 80px 46px / 46px 80px 80px 46px;
  box-shadow: 0 8px 0 #ae1919, 0 1px 15px #c11e1e42;
  padding: 0 0 0 34px;
  min-width: 270px; height: 74px; position: relative;
}
.faq3d-title-text {
  font-size: 2.2rem; color: #fff; font-weight: 900; letter-spacing: 1.5px;
  margin-right: 36px; text-shadow: 0 4px 16px #b71c1c90, 0 2px 0 #a42121;
  display: flex; align-items: flex-end; gap: 7px;
}
.faq3d-title-icon {
  display: flex; align-items: center; justify-content: center;
  background: radial-gradient(circle at 60% 35%, #f94747 73%, #be2020 100%);
  width: 70px; height: 70px; border-radius: 50%;
  box-shadow: 0 7px 0 #981212, 0 0px 18px #b71c1c34;
  position: absolute; right: -24px; top: 50%; transform: translateY(-50%);
}
.faq3d-title-icon i {
  color: #fff; font-size: 2.1rem; margin-left: 2px; filter: drop-shadow(0 0 2px #7a0d0d);
}

/* FAQ Section & Cards */
.goafaq-section {
  background: #fff; border-radius: 22px; box-shadow: 0 6px 28px #1edbe813;
  padding: 38px 0 28px 0; max-width: 1200px; margin: 0 auto 36px auto;
}
.goafaq-row {
  display: flex; justify-content: center; align-items: flex-start; gap: 36px;
  max-width: 1080px; margin: 0 auto 32px auto;
}
.goafaq-col { flex: 1 1 300px; display: flex; flex-direction: column; gap: 22px; }
.goafaq-card {
  border-radius: 19px; box-shadow: 0 7px 0 #b5c7c8, 0 1.5px 0 #fff;
  overflow: hidden; margin-bottom: 0; border: none; transition: box-shadow .15s;
}
.goafaq-card .goafaq-q {
  width: 100%; border: none; outline: none; padding: 22px 20px 16px 22px;
  font-size: 1.13rem; font-weight: 900; text-align: left;
  display: flex; align-items: center; gap: 14px; cursor: pointer;
  border-radius: 18px 18px 0 0; transition: background 0.13s, color 0.13s;
  background: transparent; color: #fff; box-shadow: none;
}
.goafaq-q i { font-size: 1.29rem; min-width: 32px; text-align: center; opacity: 0.93;}
.goafaq-card .goafaq-q:focus, .goafaq-card .goafaq-q:hover { opacity: 0.94; filter: brightness(1.13);}
.goafaq-card .goafaq-a {
  padding: 19px 22px 17px 54px; color: #fff; font-size: 1.01rem; font-weight: 500;
  display: none; border-radius: 0 0 19px 19px; animation: fadeInFaq .4s; background: rgba(20,20,20,0.13);
}
.goafaq-card.active .goafaq-a { display: block; }
@keyframes fadeInFaq { from { opacity: 0; transform: translateY(20px);} to { opacity: 1; transform: translateY(0);} }

/* Card color classes */
.card-teal   { background: #01b4b9; box-shadow: 0 7px 0 #0e6e72;}
.card-violet { background: #8e44ad; box-shadow: 0 7px 0 #3e1060;}
.card-blue   { background: #1976d2; box-shadow: 0 7px 0 #0c326c;}
.card-orange { background: #f57c00; box-shadow: 0 7px 0 #ab5003;}
.card-green  { background: #3bb146; box-shadow: 0 7px 0 #177e1f;}
.card-teal .goafaq-q, .card-teal .goafaq-a { background: #01b4b9; color: #fff;}
.card-violet .goafaq-q, .card-violet .goafaq-a { background: #8e44ad; color: #fff;}
.card-blue .goafaq-q, .card-blue .goafaq-a { background: #1976d2; color: #fff;}
.card-orange .goafaq-q, .card-orange .goafaq-a { background: #f57c00; color: #fff;}
.card-green .goafaq-q, .card-green .goafaq-a { background: #3bb146; color: #fff;}

/* 3D CTAs */
.goafaq-ctas { max-width: 940px; margin: 38px auto 0 auto; display: flex; flex-direction: column; align-items: center; gap: 18px;}
.goafaq-cta-row { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin: 6px 0;}
.goafaq-cta-label { font-weight: 900; color: #00838f; font-size: 1.08rem; margin-right: 12px; min-width: 128px;}
.goafaq-cta-btn {
  display: inline-flex; align-items: center; font-weight: 900; border-radius: 14px;
  padding: 13px 22px 12px 18px; font-size: 1.09rem; text-decoration: none; margin-bottom: 0;
  box-shadow: 0 6px 0 #00838f2c, 0 1.5px 0 #fff; border: none; transition: background .15s, color .15s, box-shadow .13s, transform .11s;
  color: #fff; letter-spacing: 0.01em; position: relative; top: 0;
  min-width: unset; width: auto;
}
.goafaq-cta-btn i { font-size: 1.12rem; margin-right: 10px;}
.goafaq-cta-btn.cta-call    { background: #16b165; box-shadow: 0 6px 0 #0e8c3d;}
.goafaq-cta-btn.cta-request { background: #8e44ad; box-shadow: 0 6px 0 #3e1060;}
.goafaq-cta-btn.cta-mail    { background: #f57c00; box-shadow: 0 6px 0 #ab5003;}
.goafaq-cta-btn.cta-quote   { background: #1976d2; box-shadow: 0 6px 0 #0c326c;}
.goafaq-cta-btn:hover, .goafaq-cta-btn:focus { filter: brightness(1.12); box-shadow: 0 2px 0 #fff, 0 11px 24px #15b7cd18; transform: translateY(-2px) scale(1.045);}

@media (max-width: 900px) {
  .faq3d-title-main { height: 54px; min-width: 144px; padding-left: 17px;}
  .faq3d-title-text { font-size: 1.21rem; margin-right: 18px;}
  .faq3d-title-icon { width: 37px; height: 37px; right: -12px;}
  .faq3d-title-icon i { font-size: 1.16rem;}
  .goafaq-row { flex-direction: column; gap: 0;}
  .goafaq-col { gap: 17px; margin-bottom: 10px;}
  .goafaq-section { padding: 24px 0 12px 0;}
}
@media (max-width: 700px) {
  .goafaq-section { border-radius: 13px; padding: 8px 0 6px 0;}
  .goafaq-card { border-radius: 10px;}
  .goafaq-card .goafaq-q { font-size: .97rem; padding: 10px 8px 10px 7px;}
  .goafaq-q i { font-size: 1.06rem; min-width: 21px;}
  .goafaq-card .goafaq-a { font-size: .93rem; padding: 9px 8px 11px 27px;}
  .goafaq-ctas { gap: 9px;}
  .goafaq-cta-row { gap: 9px;}
  .goafaq-cta-btn { font-size: .97rem; padding: 11px 13px 11px 14px; border-radius: 9px; justify-content: center;}
  .goafaq-cta-label { font-size: .98rem; min-width: 104px;}
}
@media (max-width: 500px) {
  .goafaq-section { border-radius: 6px; padding: 7px 0 2px 0;}
  .goafaq-row { gap: 0;}
  .goafaq-col { gap: 11px;}
  .goafaq-cta-btn { min-width: 92vw; }
  .goafaq-cta-row { flex-direction: column; align-items: stretch;}
  .goafaq-cta-label { font-size: .96rem;}
}


/* ---- separator ---- */


@media (max-width: 700px) {
  .blog3d-img-wrap {
    height: 120px;
    margin-bottom: 70px !important;  /* Increase from 32px to 40px, or even 48px if needed */
  }
  .blog3d-cardbar {
    bottom: -2px;
    font-size: 1rem;
    white-space: normal;
    min-width: 72%;
    max-width: 92vw;
    overflow-x: unset;
    padding: 7px 10px;
    text-overflow: ellipsis;
  }
}

.blog3d-cardbar { z-index: 3; position: absolute; }

.blogmodal-article { display: none !important; }

/* Apply Nunito to everything except Font Awesome icons */
.blog3d-section,
.blog3d-section *:not(i[class^="fa"]) {
  font-family: 'Nunito', Arial, sans-serif !important;
}
.blogmodal-overlay,
.blogmodal-overlay *:not(i[class^="fa"]) {
  font-family: 'Nunito', Arial, sans-serif !important;
}

.blog3d-title-wrap {
  display: flex;
  justify-content: center;
  margin-bottom: 30px;
}
.blog3d-title-main {
  display: flex;
  align-items: center;
  background: #01b4b9;
  border-radius: 46px 80px 80px 46px / 46px 80px 80px 46px;
  box-shadow: 0 8px 0 #137377, 0 1px 15px #2b94e842;
  padding: 0 0 0 34px;
  min-width: 255px;
  height: auto;
  min-height: 84px;
  position: relative;
  justify-content: center;
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  overflow: visible;
}
.blog3d-title-text {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  text-align: center;
  gap: 0;
}
.blog3d-title-maintext {
  font-size: 2.3rem;
  color: #fff;
  font-weight: 900;
  letter-spacing: 1.3px;
  line-height: 1.13;
  z-index: 2;
}
.blog3d-title-subtext {
  display: block;
  margin-top: 7px;
  color: #e6f1fd;
  font-size: 1.15rem;
  font-weight: 400;
  text-align: center;
  padding-right: 85px; /* Keeps subtitle out from under icon */
  white-space: normal;
  line-height: 1.27;
  word-break: break-word;
  z-index: 2;
}
.blog3d-title-icon {
  flex-shrink: 0;
  z-index: 5;
  width: 70px;
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: radial-gradient(circle at 60% 35%, #4ea8fd 73%, #185ea2 100%);
  border-radius: 50%;
  box-shadow: 0 7px 0 #185ea2, 0 0px 18px #2272a534;
  position: absolute;
  right: -42px;
  top: 50%;
  transform: translateY(-50%);
}
.blog3d-title-icon i {
  color: #fff;
  font-size: 2.1rem;
  margin-left: 2px;
  filter: drop-shadow(0 0 2px #1976d2);
}

/* Fix for mobile screens */
@media (max-width: 700px) {
  .blog3d-title-wrap {
    justify-content: center;
    align-items: center;
  }
  .blog3d-title-main {
    height: auto;
    min-height: 70px;
    padding: 13px 12px 13px 8px;
    flex-direction: row;
    max-width: 99vw;
    border-radius: 22px 44px 44px 22px / 22px 44px 44px 22px;
    overflow: visible;
  }
  .blog3d-title-icon {
    width: 36px;
    height: 36px;
    right: -10px;
    top: 50%;
    transform: translateY(-50%);
  }
  .blog3d-title-icon i {
    font-size: 1.18rem;
  }
  .blog3d-title-maintext {
    font-size: 1.22rem;
  }
  .blog3d-title-subtext {
    font-size: 0.93rem;
    padding-right: 36px;
  }
}

.blog3d-section {
  background: #fff;
  border-radius: 22px;
  box-shadow: 0 6px 28px #1edbe813;
  padding: 40px 0 24px 0;
  max-width: 1200px;
  margin: 0 auto 44px auto;
}
.blog3d-slider {
  position: relative;
  max-width: 1130px;
  margin: 0 auto;
  overflow: visible;
}
.blog3d-slider-track {
  display: flex;
  transition: transform .58s cubic-bezier(.65,1.8,.3,1), filter .6s cubic-bezier(.65,1.8,.3,1);
  gap: 32px;
}
.blog3d-slider-track.ripple-dissolve {
  filter: blur(10px) brightness(.88) grayscale(0.15);
  opacity: 0.33;
  transition: filter .68s cubic-bezier(.44,2.2,.6,1.01), opacity .68s cubic-bezier(.44,2.2,.6,1.01);
}
.blog3d-card {
  background: #fff;
  border-radius: 19px;
  box-shadow: 0 7px 0 #e0e7ea, 0 2px 18px #b1d4ec2c;
  overflow: hidden;
  min-width: 240px;
  max-width: 350px;
  display: flex;
  flex-direction: column;
  position: relative;
  margin-bottom: 18px;
  border: none;
  transition: box-shadow .18s, transform .17s;
}
.blog3d-card:hover {
  box-shadow: 0 15px 22px #73c7f22a, 0 2px 18px #a8bee82c;
  transform: translateY(-7px) scale(1.032);
}
.blog3d-img-wrap {
  position: relative;
  width: 100%;
  height: 176px; /* You can reduce this, try 140px or 150px */
  overflow: hidden;
  border-radius: 18px 18px 0 0;
  box-shadow: 0 4px 22px #1094ad16;
  background: #f4f7fa;
  margin-bottom: 38px; /* add this to make space for cardbar/title! */
}
.blog3d-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 18px 18px 0 0;
}
.blog3d-cardbar {
  position: absolute;
  left: 18px;
  bottom: -8px; /* try -8px if it's too low */
  background: #0d6efd;
  color: #fff;
  font-weight: 900;
  font-size: 1.17rem;
  border-radius: 30px;
  box-shadow: 0 6px 0 #1976d2, 0 1px 8px #3bbaf24a;
  padding: 9px 23px 9px 19px;
  z-index: 2;
  white-space: nowrap;
  letter-spacing: 0.01em;
  transition: background .16s;
  min-width: 65%;   /* force the bar to be wide enough */
  overflow-x: auto; /* allows scroll if text is long */
  white-space: normal;
  overflow-x: unset;
}

.card-blue .blog3d-cardbar { background: #0d6efd; box-shadow: 0 6px 0 #1976d2;}
.card-teal .blog3d-cardbar { background: #01b4b9; box-shadow: 0 6px 0 #0e6e72;}
.card-orange .blog3d-cardbar { background: #f57c00; box-shadow: 0 6px 0 #ab5003;}
.card-green .blog3d-cardbar { background: #3bb146; box-shadow: 0 6px 0 #177e1f;}
.card-violet .blog3d-cardbar { background: #8e44ad; box-shadow: 0 6px 0 #3e1060;}
.blog3d-title {
  margin-top: 22px;
  margin-bottom: 7px;
  font-size: 1.07rem;
  color: #1976d2;
  font-weight: 900;
  min-height: 40px;
  text-align: left;
  overflow: visible;
}

.blog3d-desc {
  font-size: 1.07rem;
  color: #1a1a1a;
  font-weight: 500;
  margin: 0 18px 10px 18px;
  min-height: 44px;
  text-align: left;
  line-height: 1.45;
  letter-spacing: 0.01em;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}
.blog3d-meta {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 16px;
  margin: 0 18px 10px 18px;
  font-size: .98rem;
}
.blog3d-meta span {
  display: inline-flex;
  align-items: center;
  background: #e2f0fb;
  color: #1273be;
  padding: 4px 13px 4px 8px;
  border-radius: 19px;
  font-weight: 700;
  margin-right: 2px;
  font-size: .96rem;
  letter-spacing: .01em;
}
.blog3d-meta i {
  margin-right: 7px;
  color: #0073e6;
}
.blog3d-read-btn {
  display: inline-block;
  align-self: flex-start;
  margin: 7px 0 22px 18px;
  padding: 11px 25px 11px 19px;
  background: #1976d2;
  color: #fff;
  font-size: 1.05rem;
  font-weight: 900;
  border-radius: 15px;
  box-shadow: 0 6px 0 #0c326c;
  text-decoration: none;
  letter-spacing: .01em;
  transition: background .18s, color .15s, box-shadow .18s, transform .13s;
}
.blog3d-read-btn:hover, .blog3d-read-btn:focus {
  background: #01b4b9;
  color: #fff;
  box-shadow: 0 2px 0 #fff, 0 12px 28px #15b7cd20;
  transform: translateY(-2px) scale(1.043);
}
.blog3d-dots {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 23px 0 0 0;
  gap: 8px;
}
.blog3d-dot {
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: #c9e2fc;
  border: none;
  cursor: pointer;
  transition: background .15s;
}
.blog3d-dot.active {
  background: #1976d2;
}
.card-blue { box-shadow: 0 7px 0 #1976d2; }
.card-teal { box-shadow: 0 7px 0 #0e6e72; }
.card-orange { box-shadow: 0 7px 0 #ab5003; }
.card-green { box-shadow: 0 7px 0 #177e1f; }
.card-violet { box-shadow: 0 7px 0 #3e1060; }
@media (max-width: 1100px) {
  .blog3d-slider-track { gap: 15px; }
  .blog3d-card { min-width: 300px; max-width: 340px; }
}
@media (max-width: 950px) {
  .blog3d-slider { max-width: 97vw; }
  .blog3d-card { min-width: 270px; max-width: 95vw; }
}
@media (max-width: 700px) {
  .blog3d-title-main { height: 51px; min-width: 137px; padding-left: 8px; }
  .blog3d-title-maintext { font-size: 1.33rem; }
  .blog3d-title-subtext { font-size: .97rem; }
  .blog3d-title-text { font-size: 1.21rem; margin-right: 12px; }
  .blog3d-title-icon { width: 32px; height: 32px; right: -8px; }
  .blog3d-title-icon i { font-size: 1.13rem; }
  .blog3d-section { border-radius: 13px; padding: 7px 0 4px 0; }
  .blog3d-slider-track { gap: 10px; }
  .blog3d-card { min-width: 99vw; max-width: 99vw; border-radius: 10px; }
  .blog3d-img-wrap { height: 143px; border-radius: 10px 10px 0 0; }
  .blog3d-img { border-radius: 10px 10px 0 0; }
  .blog3d-cardbar { left: 11px; bottom: -5px; font-size: .97rem; border-radius: 19px; padding: 7px 17px 7px 13px; }
}
.blog3d-title-maintext {
  font-size: 2.08rem;
  font-weight: 900;
  color: #fff;
  letter-spacing: 1.3px;
  line-height: 1.1;
}
.blog3d-title-subtext {
  font-size: 1.07rem;
  font-weight: 400;
  color: #e3f2fd;
  margin-top: 3px;
  line-height: 1.2;
  display: block;
}
.blogmodal-overlay {
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
}
.blogmodal-bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(26,48,61,0.42);
  backdrop-filter: blur(1.5px);
  z-index: 1;
}
.blogmodal-box {
  position: relative;
  z-index: 2;
  background: #fff;
  border-radius: 22px;
  max-width: 510px;
  width: 98vw;
  box-shadow: 0 13px 48px #1edbe855, 0 2px 12px #81d4f82a;
  padding: 32px 29px 27px 29px;
  animation: modalpop .33s cubic-bezier(.64,1.6,.25,1);
  display: flex;
  flex-direction: column;
  align-items: center;
}
@keyframes modalpop {
  from { opacity: 0; transform: translateY(60px) scale(.88);}
  to   { opacity: 1; transform: none;}
}
.blogmodal-close {
  position: absolute;
  right: 14px;
  top: 14px;
  background: #f2f6f9;
  color: #1976d2;
  border: none;
  font-size: 1.45rem;
  border-radius: 50%;
  width: 37px;
  height: 37px;
  cursor: pointer;
  box-shadow: 0 3px 0 #d1e8fc;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .13s;
}
.blogmodal-close:hover {
  background: #eaf6ff;
  color: #0d6efd;
}
.blogmodal-meta {
  color: #888;
  font-size: 1.01rem;
  margin-bottom: 4px;
  display: flex;
  gap: 17px;
  justify-content: center;
}
.blogmodal-meta i {
  margin-right: 5px;
  color: #01b4b9;
}
.blogmodal-images {
  display: flex;
  gap: 14px;
  margin-bottom: 13px;
  justify-content: center;
}
.blogmodal-images img {
  width: 51%;
  min-width: 92px;
  max-width: 178px;
  aspect-ratio: 16/11;
  border-radius: 15px;
  object-fit: cover;
  box-shadow: 0 6px 0 #d2eef3, 0 1.5px 0 #fff;
}
.blogmodal-content {
  color: #292929;
  font-size: 1.09rem;
  margin-bottom: 23px;
  max-height: 250px;
  overflow-y: auto;
  padding-right: 6px;
}
.blogmodal-content ul {
  margin: 10px 0 0 15px;
  padding: 0 0 0 12px;
}
.blogmodal-content li {
  font-size: 1.04rem;
  margin-bottom: 3px;
}
.blogmodal-ctas {
  display: flex;
  flex-direction: column;
  gap: 14px;
  width: 100%;
  align-items: center;
}
.blogmodal-full-btn {
  display: block;
  width: 100%;
  text-align: center;
  background: #1976d2;
  color: #fff;
  font-weight: 900;
  font-size: 1.09rem;
  border-radius: 13px;
  padding: 12px 0;
  margin-bottom: 8px;
  box-shadow: 0 7px 0 #0c326c;
  text-decoration: none;
  letter-spacing: .01em;
  transition: background .18s, box-shadow .15s;
}
.blogmodal-full-btn:hover, .blogmodal-full-btn:focus {
  background: #01b4b9;
  color: #fff;
  box-shadow: 0 2px 0 #fff, 0 12px 28px #15b7cd18;
}
.blogmodal-cta-row {
  display: flex;
  gap: 14px;
  justify-content: center;
  width: 100%;
}
.blogmodal-cta-btn {
  display: inline-flex;
  align-items: center;
  font-weight: 900;
  border-radius: 12px;
  padding: 12px 22px 12px 18px;
  font-size: 1.04rem;
  text-decoration: none;
  margin-bottom: 0;
  box-shadow: 0 6px 0 #e0e7ea, 0 1.5px 0 #fff;
  border: none;
  transition: background .13s, color .13s, box-shadow .13s, transform .11s;
  color: #fff;
  letter-spacing: 0.01em;
  position: relative;
  top: 0;
}
.cta-mail { background: #01b4b9; box-shadow: 0 6px 0 #0e6e72; }
.cta-quote { background: #16b165; box-shadow: 0 6px 0 #0e8c3d; }
.blogmodal-cta-btn:hover, .blogmodal-cta-btn:focus {
  filter: brightness(1.12);
  box-shadow: 0 2px 0 #fff, 0 11px 24px #15b7cd18;
  transform: translateY(-2px) scale(1.045);
}
@media (max-width: 700px) {
  .blogmodal-box { max-width: 98vw; padding: 19px 5vw 17px 5vw; }
  .blogmodal-images img { min-width: 60px; }
  .blogmodal-cta-btn { font-size: .99rem; padding: 10px 13px 10px 12px; border-radius: 8px;}
}
.blog3d-ghost-card {
  pointer-events: none;
  background: transparent !important;
  box-shadow: none !important;
}



/* ---- separator ---- */


#goa-footer {
  font-family: 'Nunito', Arial, sans-serif;
  background: #fff;
  color: #174952;
  border-top: 3px solid #23ce8e;
  margin-top: 56px;
  box-shadow: 0 -4px 32px -16px #00838f13;
}
.goa-footer-flex {
  display: flex;
  flex-wrap: wrap;
  max-width: 1230px;
  margin: 0 auto;
  padding: 0;
  border-radius: 0 0 26px 26px;
  overflow: hidden;
}
.goa-footer-left {
  flex: 1 1 330px;
  background: #fff;
  padding: 40px 28px 28px 40px;
  display: flex;
  gap: 20px;
  align-items: flex-start;
  min-width: 240px;
  border-right: 2.5px solid #00bfa53b;
  box-shadow: 14px 0 54px -32px #00bfa535;
}
.goa-footer-logo {
  width: 68px; height: 68px; border-radius: 16px;
  border:2.5px solid #23ce8e; background:#fff;
  object-fit: contain; box-shadow:0 2px 9px #00838f19;
  margin-top: 4px;
}
.goa-footer-title {
  font-weight: 900;
  font-size: 1.26rem;
  color: #00838f;
  margin-bottom: 4px;
  letter-spacing: 0.7px;
}
.goa-footer-desc { font-size: 1.05rem; color: #276977; }
.goa-footer-cert { color: #119e7d; font-weight:800; font-size:1.06rem; margin-top:4px;}
.goa-footer-cert i { color:#23ce8e; margin-right:4px; }
.goa-footer-address {
  font-size: 1rem;
  color: #166264;
  font-weight: 500;
  margin-top: 10px;
  line-height: 1.48;
  letter-spacing: 0.08px;
}
.goa-footer-address b { color: #00838f; font-weight: 800; }
.goa-footer-landmark {
  color: #0ab79d;
  font-size: 0.97rem;
  font-weight: 600;
  display: block;
  margin-top: 3px;
}
.goa-footer-hours {
  margin-top: 9px;
  font-size: 1rem;
  color: #24716d;
  display: flex;
  align-items: flex-start;
  gap: 7px;
}
.goa-footer-hours i {
  color: #23ce8e;
  font-size: 1.09rem;
  margin-top: 2px;
}
.goa-footer-hours b {
  color: #00838f;
  font-weight: 800;
}
.goa-footer-closed {
  color: #e46464;
  font-weight: 700;
  font-size: 0.96rem;
  display: block;
  margin-top: 2px;
}
/* Right half (TEAL) */
.goa-footer-right {
  flex: 2 2 560px;
  background: #00bfa5;
  color: #fff;
  padding: 36px 32px 28px 38px;
  min-width: 280px;
  display: flex;
  align-items: flex-start;
  width: 100%;
}
.goa-footer-right-cols {
  display: flex;
  width: 100%;
  gap: 36px;
  justify-content: space-between;
}
.goa-footer-links-col, .goa-footer-contact-col {
  min-width: 155px;
  margin-right: 8px;
}
.goa-footer-links-col h4, .goa-footer-contact-col h4 {
  color: #fff;
  font-size: 1.1rem;
  font-weight: 900;
  margin-bottom: 11px;
  letter-spacing: 0.5px;
}
.goa-footer-links-col ul, .goa-footer-contact-col ul { list-style: none; margin:0; padding:0; }
.goa-footer-links-col ul li, .goa-footer-contact-col ul li { margin-bottom:7px; }
.goa-footer-links-col ul li a {
  color: #eafffa;
  text-decoration: none;
  font-weight: 700;
  transition: color 0.13s;
}
.goa-footer-links-col ul li a:hover { color: #fff; text-decoration: underline; }
.goa-footer-contact-col ul li { color: #c1fff7; font-weight:700;}
.goa-footer-contact-col ul li a { color:#fff; font-weight:700; }
.goa-footer-contact-col ul li a:hover { color:#23ce8e; }
.goa-footer-contact-col ul li i { color:#23ce8e; margin-right:8px; }
.goa-footer-cta-btns { margin:11px 0 0 0; display:flex; gap:11px; flex-wrap:wrap;}
.goa-footer-cta-btns button {
  background:#fff;
  color:#00838f;
  border:none;
  border-radius:21px;
  font-size:1.05rem;
  font-weight:800;
  padding:9px 19px;
  box-shadow:0 2px 9px -3px #00838f23;
  display: flex; align-items: center; gap:7px;
  outline:none; cursor:pointer;
  transition: background 0.15s, color 0.15s;
}
.goa-footer-cta-btns button:hover { background: #23ce8e; color: #fff; }
.goa-footer-social {
  margin-top: 16px;
  display: flex;
  gap: 13px;
}
.goa-footer-social a {
  color: #fff;
  background: #16dfc0;
  border-radius: 50%;
  width: 36px; height: 36px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.24rem;
  transition: background 0.16s, color 0.16s;
  box-shadow: 0 1.5px 6px #00838f11;
  border: 1.5px solid #c2ede7;
}
.goa-footer-social a:hover { background: #fff; color: #00bfa5; border-color:#fff; }
/* Bottom bar */
.goa-footer-bottom {
  border-top:1.5px solid #e3f3f4;
  background: #f2fbfa;
  color: #21786d;
  font-size:1.04rem;
  text-align:center;
  padding:14px 14px 7px 14px;
  display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center;
  gap:7px;
}
.goa-footer-bottom a { color:#00bfa5; text-decoration:none; font-weight:900;}
.goa-footer-bottom a:hover { color:#148080; text-decoration:underline;}
.goa-footer-credit { font-size:0.99rem; color:#21968b; margin-top:4px;}
/* Responsive: fixes for mobile empty space and column stacking */
@media (max-width: 1050px) {
  .goa-footer-right-cols { flex-direction:column; gap:18px;}
  .goa-footer-right { padding:36px 18px 20px 18px; }
  .goa-footer-left { padding:32px 14px 20px 18px;}
}
@media (max-width: 700px) {
  .goa-footer-flex {
    flex-direction: column;
    align-items: stretch;
  }
  .goa-footer-left {
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    min-width: 0;
    padding: 14px 6vw 8px 6vw;
    border: none;
    border-radius: 0;
    box-shadow: none;
    gap: 13px;
  }
  .goa-footer-logo {
    width: 44px; height: 44px;
    margin-right: 10px;
    margin-top: 4px;
  }
  .goa-footer-title { font-size: 1.01rem; }
  .goa-footer-desc, .goa-footer-cert { font-size: 0.95rem; }
  .goa-footer-address { font-size: 0.92rem; }
  .goa-footer-landmark { font-size: 0.89rem; }
  .goa-footer-hours { font-size: 0.92rem; }
  .goa-footer-hours i { font-size: 1rem; }
  .goa-footer-right-cols { flex-direction: column; gap: 15px; }
}
@media (max-width: 500px) {
  .goa-footer-flex { border-radius:0; }
  .goa-footer-left, .goa-footer-right { padding: 13px 2vw 8px 2vw;}
  .goa-footer-logo { width:36px; height:36px;}
  .goa-footer-title, .goa-footer-cert { font-size:0.92rem;}
}