/* --- CSS RESET & NORMALIZE --- */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,main,menu,nav,output,ruby,section,summary,time,mark,audio,video {margin:0;padding:0;border:0;font:inherit;vertical-align:baseline;box-sizing:border-box;}
html{box-sizing:border-box;scroll-behavior:smooth;}
body{background:#F8F9FA;color:#232F34;font-family:'Montserrat',Arial,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;}
img{max-width:100%;height:auto;display:block;}
a{text-decoration:none;color:#232F34;transition:color 0.2s;}
ul,ol{list-style:none;}
button,input,textarea,select{font-family:inherit;font-size:inherit;outline:none;}

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

:root {
  --color-primary: #232F34;
  --color-secondary: #ADB5BD;
  --color-accent: #F8F9FA;
  --color-brand: #31C4F3;
  --color-playful1: #FEB800;
  --color-playful2: #FF65A3;
  --color-playful3: #3ADB85;
  --color-playful4: #FF4B2B;
  --radius-main: 18px;
  --radius-btn: 28px;
  --shadow-main: 0 4px 26px 0 rgba(35,47,52,0.09);
  --shadow-card: 0 2px 9px 0 rgba(49,196,243,0.12);
  --transition-main: 0.3s cubic-bezier(.41,1.02,.56,.88);
}

/* --- LAYOUT, CONTAINERS, SECTION SPACING --- */
.container {
  width:100%;
  max-width:1120px;
  margin:0 auto;
  padding:0 20px;
}
.section {
  margin-bottom:60px;
  padding:40px 20px;
}
.content-wrapper{
  display:flex;
  flex-direction:column;
  gap:32px;
}

/* --- HEADER --- */
header {
  width:100%;
  background:var(--color-accent);
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:18px 20px;
  position: relative;
  box-shadow:0 2px 12px 0 rgba(49,196,243,0.06);
  z-index:200;
}
header img {
  height:52px;
  width:auto;
  margin-right:18px;
  filter:drop-shadow(0 3px 14px rgba(49,196,243,.04));
}
header nav {
  display:flex;
  gap:24px;
  align-items:center;
}
header nav a {
  font-weight:600;
  font-family:'Montserrat',Arial,sans-serif;
  color:var(--color-primary);
  padding:8px 0;
  position:relative;
  font-size:16px;
  transition:color var(--transition-main);
}
header nav a:hover,header nav a:focus {
  color:var(--color-playful2);
}
.cta-primary {
  display:inline-block;
  background:linear-gradient(90deg,var(--color-playful1),var(--color-playful2));
  color:#fff;
  font-family:'Montserrat',Arial,sans-serif;
  font-weight:700;
  padding:14px 42px;
  border-radius:var(--radius-btn);
  font-size:18px;
  letter-spacing:.02em;
  outline:none;
  border:0;
  line-height:1.2;
  margin-left:24px;
  box-shadow:0 2px 12px 0 rgba(49,196,243,0.09);
  cursor:pointer;
  transition:box-shadow var(--transition-main),background var(--transition-main),transform 0.13s cubic-bezier(.34,1.56,.64,1);
  position:relative;
  overflow:hidden;
}
.cta-primary::after {
  content:"";
  position:absolute;
  top:0;left:0;width:0;height:100%;
  background:rgba(0,0,0,0.04);
  transition:width .3s cubic-bezier(.22,1,.36,1);
  z-index:1;
}
.cta-primary:hover,.cta-primary:focus {
  background:linear-gradient(90deg,var(--color-playful1),var(--color-playful3));
  box-shadow:0 6px 26px 0 rgba(49,196,243,0.14);
  color:#fff;
  transform:translateY(-2px) scale(1.04);
}
.cta-primary:active {
  transform:scale(0.98);
}
.cta-secondary {
  display:inline-block;
  background:#fff;
  color:var(--color-playful4);
  font-weight:600;
  border-radius:var(--radius-btn);
  font-size:16px;
  padding:12px 32px;
  border:2px solid var(--color-playful4);
  box-shadow:0 2px 8px 0 rgba(254,184,0,.09);
  margin-top:24px;
  transition:background .22s,color .22s,border-color .22s,box-shadow .18s;
  text-align:center;
}
.cta-secondary:hover,
.cta-secondary:focus {
  background:var(--color-playful4);
  color:#fff;
  border-color:var(--color-playful2);
  box-shadow:0 4px 12px 0 rgba(255,75,43,0.14);
}


/* --- HERO --- */
.hero {
  padding:68px 0 38px 0;
  background:var(--color-playful1);
  background:linear-gradient(120deg,#FEB800 75%,#FF65A3 130%);
  border-bottom-left-radius:48px;
  border-bottom-right-radius:88px;
  margin-bottom: 44px;
  box-shadow:0 7px 34px 0 rgba(49,196,243,0.08);
  position:relative;
}
.hero .content-wrapper {
  align-items:center;
  text-align:center;
  gap:18px;
}
.hero h1 {
  font-family:'Playfair Display',serif;
  font-weight:700;
  font-size:2.9rem;
  color:var(--color-primary);
  margin-bottom:10px;
  text-shadow:1px 4px 16px rgba(255,184,0,0.07);
  letter-spacing:0.01em;
}
.hero .subheadline {
  font-family:'Montserrat',sans-serif;
  font-size:1.22rem;
  max-width:600px;
  color:var(--color-primary);
  margin-bottom:26px;
}


/* --- FLEXBOX PATTERNS --- */
.card-container {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}
.card {
  margin-bottom: 20px;
  position: relative;
}
.content-grid {
  display:flex;
  flex-wrap: wrap;
  gap:20px;
  justify-content:space-between;
}
.text-image-section {
  display:flex;
  align-items:center;
  gap:30px;
  flex-wrap:wrap;
}
.testimonial-card {
  display:flex;
  align-items:center;
  gap:20px;
  padding:20px;
  background:#fff;
  color:#232F34;
  border-radius:var(--radius-main);
  box-shadow:var(--shadow-card);
  min-width:270px;
  max-width:420px;
  margin-bottom: 20px;
  transition:box-shadow .25s,transform .18s;
  position:relative;
}
.testimonial-card:hover {
  box-shadow:0 8px 26px 0 rgba(49,196,243,0.14);
  transform:translateY(-4px) scale(1.01);
}
.feature-item {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:15px;
}

/* --- FEATURE LISTS & CARDS --- */
.features-list {
  display:flex;
  flex-wrap:wrap;
  gap:24px 36px;
  margin-top:18px;
  margin-bottom:20px;
}
.features-list li {
  display:flex;
  align-items:center;
  gap:15px;
  background:rgba(49,196,243,.06);
  border-radius:var(--radius-btn);
  padding:14px 24px;
  font-size:17px;
  color:var(--color-primary);
  margin-bottom:18px;
  font-weight:600;
  position:relative;
  box-shadow:0 2px 7px 0 rgba(49,196,243,0.05);
}
.features-list img {
  width:36px;height:36px;
}

.service-card, .service-item, .case-study {
  background:#fff;
  border-radius:var(--radius-main);
  box-shadow:var(--shadow-main);
  padding:32px 28px 24px 28px;
  flex:1 1 260px;
  min-width:240px;
  max-width:350px;
  margin-bottom:20px;
  display:flex;
  flex-direction:column;
  gap:16px;
  position:relative;
  transition:box-shadow .22s,transform .16s;
}
.service-card:hover,.service-item:hover,
.case-study:hover {
  box-shadow:0 11px 38px 0 rgba(254,184,0,0.10);
  transform:translateY(-2px) scale(1.015);
}
.services-cards,.service-list,.case-study-list {
  display:flex;
  flex-wrap:wrap;
  gap:24px;
  margin:16px 0 24px 0;
  justify-content:center;
}

/* --- SLIDER (for testimonials) --- */
.testimonial-slider {
  display:flex;
  flex-wrap:wrap;
  gap:24px;
  justify-content:flex-start;
  align-items:stretch;
  margin:18px 0 14px 0;
}

/* --- OTHER CARD-LIKE BLOCKS --- */
.blog-list {
  display:flex;
  flex-wrap:wrap;
  gap:24px;
  margin-bottom:24px;
}
.blog-list article {
  background:#fff;
  border-radius:var(--radius-main);
  box-shadow:0 3px 16px 0 rgba(50,200,240,0.09);
  flex:1 1 220px;
  min-width:220px;
  max-width:340px;
  margin-bottom:20px;
  padding:18px 18px 12px 18px;
  transition:box-shadow .2s,transform .13s;
}
.blog-list article:hover {
  box-shadow:0 9px 32px 0 rgba(255,101,163,0.10);
  transform:translateY(-3px) scale(1.02);
}

.team-bios {
  display:flex;
  flex-wrap:wrap;
  gap:24px;
  margin:16px 0 24px 0;
  align-items:flex-start;
}
.team-bios > div {
  flex:1 1 220px;
  min-width:220px;
  max-width:350px;
  padding:18px 22px 18px 22px;
  background:rgba(58,219,133,0.09);
  border-radius:var(--radius-main);
  font-size:17px;
}

.case-study-list {
  display:flex;
  flex-wrap:wrap;
  gap:24px;
}

.impact-summary ul {
  display:flex;
  flex-wrap:wrap;
  gap:22px;
}
.impact-summary li {
  background:rgba(254,184,0,0.11);
  padding:16px 20px;
  border-radius:var(--radius-btn);
  color:#232F34;
  font-weight:600;
  font-size:16px;
}
.client-feedback {
  display:flex;
  flex-wrap:wrap;
  gap:20px;
}

.project-list {
  display:flex;
  flex-direction:column;
  gap:20px;
  margin-bottom:18px;
}
.project-list li {
  background:rgba(49,196,243,0.08);
  border-radius:var(--radius-main);
  padding:20px 24px;
  margin-bottom:8px;
}
.project-list h3 {
  margin:0 0 4px 0;
  font-family:'Playfair Display',serif;
}
.project-list a {
  margin-top:8px;
  display:inline-block;
  color:var(--color-playful4);
  font-weight:600;
}
.project-list a:hover {
  color:var(--color-playful2);
}

.contact-details {
  display:flex;
  flex-wrap:wrap;
  gap:20px;
  align-items:flex-start;
  margin-top:20px;
  margin-bottom:24px;
}
.contact-details li {
  display:flex;
  align-items:center;
  gap:12px;
  background:rgba(49,196,243,0.07);
  border-radius:var(--radius-btn);
  padding:14px 18px;
}
.contact-details img {
  width:32px;height:32px;
}

.map-placeholder {
  background:rgba(173,181,189,0.16);
  border-radius:var(--radius-main);
  padding:18px;
  margin-top:14px;
  font-style:italic;
  text-align:center;
  color:var(--color-primary);
}

/* --- BLOG --- */
.blog-categories {
  display:flex;
  align-items:center;
  gap:16px;
  font-size:16px;
  margin-bottom:18px;
}
.blog-categories ul {
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}
.blog-categories li {
  background:rgba(255,101,163,0.16);
  border-radius:48px;
  padding:6px 18px;
  font-size:14px;
  color:var(--color-primary);
  font-weight:600;
}
.search-form {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:16px;
}
.search-form input[type=text] {
  padding:10px 18px;
  border-radius:32px;
  border:1.5px solid var(--color-secondary);
  background:rgba(49,196,243,0.06);
  color:var(--color-primary);
  font-size:16px;
  width:170px;
  outline:none;
  transition:border .2s;
}
.search-form input[type=text]:focus {
  border-color:var(--color-playful1);
}
.search-form button {
  padding: 10px 24px;
  border-radius: 32px;
  background: var(--color-playful3);
  color: #fff;
  font-weight: bold;
  border:0;
  transition: background .19s, color .18s, box-shadow .18s;
  cursor:pointer;
  box-shadow:0 1px 7px 0 rgba(58,219,133,.07);
}
.search-form button:hover {
  background: var(--color-playful2);
  color: #fff;
}

/* --- FOOTER --- */
footer {
  background:#232F34;
  color:#fff;
  padding:38px 0 14px 0;
  font-size:16px;
}
footer .container {
  max-width:1160px;
}
footer .content-wrapper {
  display:flex;
  flex-wrap:wrap;
  gap:30px;
  justify-content:space-between;
  align-items:flex-start;
  margin-bottom:18px;
}
footer aside {
  max-width:340px;
  font-size:15px;
  color:#ADB5BD;
  line-height:1.7;
}
footer aside img {
  width:54px;height:auto;
  margin-bottom:16px;
}
footer nav {
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-top:8px;
}
footer nav a {
  color:#FEB800;
  font-weight:600;
  font-size:15px;
  transition:color .18s;
}
footer nav a:hover {
  color:#FFF;
}
footer p {
  width:100%;
  color:#ADB5BD;
  font-size:14px;
  margin-top:18px;
}
footer a {color:#FEB800;}

/* --- TYPOGRAPHY & HEADINGS --- */
h1,h2,h3,h4,h5,h6 {
  color:var(--color-primary);
  font-family:'Playfair Display',serif;
  font-weight:700;
  margin-bottom:7px;
}
h1 {font-size:2.5rem;line-height:1.14;}
h2 {font-size:2rem;line-height:1.18;}
h3 {font-size:1.28rem;line-height:1.22;}
h4 {font-size:1.04rem;}
p,li,ul,span,aside,footer,main {font-family:'Montserrat',Arial,sans-serif;}
strong {font-weight:bold;}


/* --- ANIMATIONS & MICRO-INTERACTIONS --- */
@keyframes bounceIn {
  0% {transform:translateY(12px) scale(0.96);opacity:0;}
  80% {transform:translateY(-8px) scale(1.04);opacity:1;}
  100% {transform:translateY(0) scale(1);}
}
@keyframes fadeInUp {
  0% {opacity:0;transform:translateY(32px);}
  100% {opacity:1;transform:translateY(0);}
}
.section, .hero, .card, .service-card, .testimonial-card, .case-study, .blog-list article {
  animation:fadeInUp .8s cubic-bezier(.41,1.02,.56,.88) both;
}
.hero .cta-primary,
.cta-primary, .cta-secondary {
  animation:bounceIn .9s cubic-bezier(.22,1,.36,1) 0.3s both;
}

/* --- CTA SECTION --- */
.cta {
  padding:50px 0 50px 0;
  background:linear-gradient(80deg,#3adb85 68%,#ff4b2b 126%);
  border-radius: 54px 54px 0 0 / 68px 68px 0 0;
  margin-top:44px;
  color:#fff;
  box-shadow:0 -5px 22px 0 rgba(58,219,133,0.11);
}
.cta .content-wrapper {
  align-items:center;
  text-align:center;
  color:#fff;
}
.cta h2,.cta p{color:#fff;}
.cta .cta-primary{margin-top:20px;}

/* --- NEXT STEPS / THANK YOU --- */
.next-steps {
  background:linear-gradient(90deg,#31c4f3 16%,#ff4b2b 94%);
  color:#fff;
  border-radius:var(--radius-main);
  padding:17px 20px;
  margin:24px 0 12px 0;
  font-size:1rem;
  box-shadow:0 3px 18px 0 rgba(49,196,243,0.10);
}
.next-steps ul {
  margin-left:16px;
  margin-top:8px;
  padding-left:0;
}
.next-steps li {
  margin-bottom:6px;
  font-weight:600;
}

/* --- MOBILE NAVIGATION --- */
.mobile-menu-toggle {
  display:inline-block;
  position:absolute;
  right:18px;top:22px;
  background:linear-gradient(90deg,#ff65a3,#feb800);
  color:#fff;
  font-size:2rem;
  width:46px;height:46px;
  border:0;
  border-radius:50%;
  z-index:501;
  box-shadow:0 4px 12px 0 rgba(49,196,243,0.16);
  cursor:pointer;
  transition:background 0.18s;
  display:none;
}
.mobile-menu-toggle:focus,
.mobile-menu-toggle:hover {
  background:linear-gradient(90deg,#ff4b2b,#3adb85);
  color:#fff;
}
.mobile-menu {
  position:fixed;
  top:0;left:0;width:100vw;height:100vh;
  background:rgba(248,249,250,.96);
  z-index:5000;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  transform:translateX(-100vw);
  transition:transform .34s cubic-bezier(.22,1,.36,1);
  pointer-events:none;
  opacity:0;
}
.mobile-menu.active {
  transform:translateX(0);
  pointer-events:auto;
  opacity:1;
}
.mobile-menu-close {
  background:none;
  border:0;
  color:var(--color-playful4);
  font-size:2.3rem;
  padding:12px 14px;
  margin-top:18px;
  margin-left:16px;
  align-self:flex-end;
  cursor:pointer;
  border-radius:50%;
  transition:background .17s;
}
.mobile-menu-close:hover,.mobile-menu-close:focus {
  background:#fff2;
}
.mobile-nav {
  display:flex;
  flex-direction:column;
  gap:22px;
  margin:50px 0 0 34px;
  width:100%;
}
.mobile-nav a {
  font-size:1.5rem;
  color:var(--color-primary);
  font-family:'Montserrat',Arial,sans-serif;
  font-weight:700;
  padding:11px 20px 11px 10px;
  border-radius:var(--radius-btn);
  transition:background .17s,color .17s;
  text-align:left;
  min-width:170px;
  margin-bottom:2px;
  display:inline-block;
}
.mobile-nav a:hover,.mobile-nav a:focus {
  background:linear-gradient(90deg,#ff65a3 78%,#3adb85 103%);
  color:#fff;
}

/* --- COOKIE CONSENT BANNER --- */
.cookie-banner {
  position:fixed;
  left:0;right:0;bottom:0;
  background:#fff;
  box-shadow:0 -6px 38px 0 rgba(35,47,52,0.12);
  z-index:10000;
  padding:25px 22px 18px 22px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:18px 30px;
  justify-content:space-between;
  min-height:74px;
  font-size:16px;
  border-top-left-radius:20px;
  border-top-right-radius:20px;
  animation:fadeInUp .9s;
}
.cookie-banner p {
  color:var(--color-primary);
  max-width:500px;
  margin-bottom:7px;
  line-height:1.6;
}
.cookie-banner button {
  background:var(--color-playful3);
  color:#fff;
  border:0;
  border-radius:var(--radius-btn);
  padding:10px 28px;
  font-size:16px;
  margin-right:8px;
  font-family:'Montserrat',Arial,sans-serif;
  font-weight:700;
  transition:background .15s,box-shadow .18s,color .12s;
  box-shadow:0 1px 7px 0 rgba(58,219,133,.08);
  cursor:pointer;
}
.cookie-banner button:hover,.cookie-banner button:focus {
  background:var(--color-playful2);
  color:#fff;
}
.cookie-banner .cookie-settings {
  color:var(--color-playful1);
  background:none;
  border:0;
  font-size:16px;
  font-weight:600;
  padding:8px 18px;
  border-radius:32px;
  cursor:pointer;
  box-shadow:none;
}
.cookie-banner .cookie-settings:hover{
  background:rgba(255,184,0,.10);
  color:var(--color-primary);
}

/* --- COOKIE PREFERENCES MODAL --- */
.cookie-modal {
  position:fixed;
  left:0;top:0;width:100vw;height:100vh;
  background:rgba(35,47,52,.13);
  z-index:10001;
  display:flex;
  align-items:center;
  justify-content:center;
  pointer-events:none;
  opacity:0;
  transition:opacity .26s;
}
.cookie-modal.active {
  pointer-events:auto;
  opacity:1;
}
.cookie-modal-content {
  background:#fff;
  border-radius:34px;
  max-width:400px;
  width:100%;
  box-shadow:0 8px 32px 0 rgba(49,196,243,0.13);
  padding:40px 34px 30px 34px;
  position:relative;
  display:flex;
  flex-direction:column;
  gap:20px;
  animation:bounceIn .64s cubic-bezier(.41,1.02,.56,.9) both;
}
.cookie-modal-content h3 {
  color:var(--color-primary);
  font-size:1.33rem;
  margin-bottom:6px;
}
.cookie-categories {
  display:flex;
  flex-direction:column;
  gap:18px;
  margin-top:6px;
}
.cookie-category {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:11px 0;
  border-bottom:1px solid var(--color-secondary);
  font-size:15px;
}
.cookie-toggle {
  margin-left:24px;
}
.cookie-modal-actions {
  margin-top:10px;
  display:flex;
  gap:16px;
  justify-content:flex-end;
}
.cookie-modal-close {
  position:absolute;
  top:10px;right:12px;
  background:transparent;
  border:0;
  font-size:1.7rem;
  color:var(--color-playful2);
  cursor:pointer;
  padding:7px 9px;
  border-radius:50%;
  transition:background .14s;
}
.cookie-modal-close:hover,.cookie-modal-close:focus {
  background:rgba(49,196,243,.11);
}

/* --- FORM ELEMENTS --- */
input[type="text"],input[type="email"],input[type="number"],textarea {
  border:1.5px solid var(--color-secondary);
  border-radius:var(--radius-btn);
  padding:13px 19px;
  font-size:16px;
  background:rgba(49,196,243,.058);
  width:100%;
  outline:none;
  margin-bottom:11px;
  transition:border .19s;
}
input[type="text"]:focus,input[type="email"]:focus,textarea:focus{
  border-color:var(--color-playful1);
}

label{
  font-family:'Montserrat',sans-serif;
  font-weight:600;
  margin-bottom:8px;
  display:block;
  color:var(--color-primary);
}

/* --- RESPONSIVE DESIGN --- */
@media (max-width:1200px){
  .container{max-width:97vw;}
  footer .content-wrapper {flex-direction: column; gap:30px;align-items:flex-start;}
  footer aside {max-width:100vw;margin-bottom:14px;}
}
@media (max-width:992px){
  header nav{gap:14px;}
  .features-list {flex-direction:column; gap:10px;}
  .service-card, .service-item,.case-study{min-width:170px;max-width:100vw;}
  .team-bios > div {min-width:140px;}
}
@media (max-width:850px) {
  .blog-list,.services-cards,.service-list,.case-study-list,.client-feedback,.testimonial-slider {
    flex-direction:column;
    align-items:stretch;
    gap:20px;
  }
}
@media (max-width:768px){
  .content-wrapper {
    gap:24px;
    padding:0;
  }
  .section {
    padding:24px 5px;
    margin-bottom:40px;
  }
  .hero {
    padding:46px 0 24px 0;
    border-bottom-left-radius:24px;
    border-bottom-right-radius:44px;
    margin-bottom:28px;
  }
  .hero h1 {font-size:2.1rem;}
  h1{font-size:1.8rem;}h2{font-size:1.4rem;}h3{font-size:1.06rem;}
  .card,.service-card,.testimonial-card,.case-study,.team-bios>div {
    min-width:unset;max-width:100vw;
    padding:16px 12px 13px 13px;
  }
  .map-placeholder,.impact-summary li,.features-list li,.contact-details li {
    font-size:15px;
    padding:11px 8px;
  }
  .cta{padding:30px 0 30px 0; border-radius:38px 38px 0 0 / 44px 44px 0 0;}
}
@media (max-width:700px){
  header nav, .cta-primary {
    display:none;
  }
  .mobile-menu-toggle {
    display:block;
  }
}
@media (max-width:540px){
  .container{padding:0 7px;}
  .section{padding:18px 0;}
  .features-list,.service-list,.case-study-list,.testimonial-slider,.client-feedback, .team-bios {
    gap:11px;
  }
  .footer aside img {width:44px;}
  .cookie-modal-content {padding:24px 8px;}
  .cookie-banner{flex-direction:column;align-items:flex-start;gap:14px;}
}


/* --- UTILITIES --- */
.text-center{text-align:center;}
.mt-24{margin-top:24px;}
.mb-16{margin-bottom:16px;}
.mb-32{margin-bottom:32px;}
.gap-10{gap:10px;}

/* --- ACCESSIBILITY & CONTRAST --- */
.testimonial-card,p,li,.service-card,.case-study,.blog-list article,footer,header{
  color:#232F34;
}
.testimonial-card p, .testimonial-card span, .client-feedback .testimonial-card p, .testimonial-card strong {
  color:#232F34;
  font-size:1.03rem;
}

/* --- END --- */
