.elementor-kit-676{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-color-6d9f3d1a:#C66300;--e-global-color-6180f54f:#4054B2;--e-global-color-2de353d0:#FF770F;--e-global-color-29fcb825:#000;--e-global-color-56bf18a1:#FFF;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-676 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ---- Google Fonts ---- */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garant:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400&family=Lato:wght@300;400;700&family=Montserrat:wght@400;500;600&display=swap');

/* ---- CSS Variables ---- */
:root {
  --htb-charcoal:    #2C2C2C;
  --htb-charcoal-dk: #1a1a1a;
  --htb-pink:        #D4799A;
  --htb-pink-light:  #F2C4D0;
  --htb-pink-pale:   #fdf0f4;
  --htb-white:       #FFFFFF;
  --htb-grey:        #F7F5F5;
  --htb-grey-mid:    #e8e4e4;
  --htb-text:        #3a3a3a;

  --htb-font-heading: 'Cormorant Garant', Georgia, serif;
  --htb-font-body:    'Lato', Arial, sans-serif;
  --htb-font-button:  'Montserrat', Arial, sans-serif;

  --htb-radius:    4px;
  --htb-radius-lg: 8px;
  --htb-shadow:    0 4px 24px rgba(0,0,0,0.10);
  --htb-shadow-sm: 0 2px 10px rgba(0,0,0,0.07);

  --htb-transition: all 0.25s ease;
}

/* ---- Reset / Base ---- */
.htb-block *,
.htb-block *::before,
.htb-block *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

.htb-block {
  font-family: var(--htb-font-body);
  color: var(--htb-text);
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}

.htb-block img {
  max-width: 100%;
  display: block;
}

.htb-block a {
  color: inherit;
  text-decoration: none;
}

/* ---- Typography ---- */
.htb-heading {
  font-family: var(--htb-font-heading);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.01em;
}

.htb-heading-xl  { font-size: clamp(2.4rem, 5vw, 4rem); }
.htb-heading-lg  { font-size: clamp(2rem, 4vw, 3.2rem); }
.htb-heading-md  { font-size: clamp(1.6rem, 3vw, 2.4rem); }
.htb-heading-sm  { font-size: clamp(1.2rem, 2vw, 1.7rem); }

.htb-subtext {
  font-family: var(--htb-font-body);
  font-size: 1rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--htb-pink);
  font-weight: 400;
}

/* ---- Buttons ---- */
.htb-btn {
  display: inline-block;
  font-family: var(--htb-font-button);
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  padding: 14px 32px;
  border-radius: var(--htb-radius);
  cursor: pointer;
  transition: var(--htb-transition);
  border: 2px solid transparent;
  white-space: nowrap;
  text-align: center;
}

.htb-btn-primary {
  background: var(--htb-pink);
  color: var(--htb-white);
  border-color: var(--htb-pink);
}
.htb-btn-primary:hover {
  background: #c4688a;
  border-color: #c4688a;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(212,121,154,0.35);
}

.htb-btn-outline {
  background: transparent;
  color: var(--htb-white);
  border-color: var(--htb-white);
}
.htb-btn-outline:hover {
  background: var(--htb-white);
  color: var(--htb-charcoal);
  transform: translateY(-2px);
}

.htb-btn-outline-dark {
  background: transparent;
  color: var(--htb-charcoal);
  border-color: var(--htb-charcoal);
}
.htb-btn-outline-dark:hover {
  background: var(--htb-charcoal);
  color: var(--htb-white);
  transform: translateY(-2px);
}

/* ---- Layout helpers ---- */
.htb-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}

.htb-section {
  padding: 80px 0;
}

.htb-section-sm {
  padding: 50px 0;
}

/* ---- Pink divider ---- */
.htb-divider {
  width: 60px;
  height: 2px;
  background: var(--htb-pink);
  margin: 16px auto 24px;
}
.htb-divider-left {
  margin-left: 0;
}

/* ---- Grid helpers ---- */
.htb-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: center;
}
.htb-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}
.htb-grid-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

@media (max-width: 900px) {
  .htb-grid-4 { grid-template-columns: repeat(2, 1fr); }
  .htb-grid-3 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .htb-grid-2,
  .htb-grid-3,
  .htb-grid-4 { grid-template-columns: 1fr; }
  .htb-section  { padding: 56px 0; }
  .htb-section-sm { padding: 36px 0; }
}

/* ---- Text alignment helpers ---- */
.htb-text-center { text-align: center; }
.htb-text-left   { text-align: left;   }

/* ---- Colour helpers ---- */
.htb-bg-charcoal { background-color: var(--htb-charcoal); color: var(--htb-white); }
.htb-bg-grey     { background-color: var(--htb-grey); }
.htb-bg-white    { background-color: var(--htb-white); }
.htb-bg-pink     { background-color: var(--htb-pink-pale); }
.htb-color-pink  { color: var(--htb-pink); }/* End custom CSS */