.elementor-kit-8{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--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-8 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){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@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 *//* ============================================================
   PINK TAPE PRODUCTIONS — GLOBAL CSS
   WHERE TO PASTE: Elementor → Site Settings → Custom CSS
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&family=Tenor+Sans&display=swap');

/* ============================================================
   1. DESIGN TOKENS
   ============================================================ */
:root {

  /* Colour — raw values */
  --pt-charcoal:        #2C2C2A;
  --pt-charcoal-deep:   #1A1A18;
  --pt-charcoal-mid:    #3A3A38;
  --pt-mist:            #B4B2A9;
  --pt-champagne:       #F1EFE8;
  --pt-pink:            #D4537E;
  --pt-pink-hover:      #c44570;
  --pt-pink-deep:       #993556;
  --pt-pink-light:      #FBEAF0;
  --pt-gold:            #EF9F27;
  --pt-gold-hover:      #d98d1e;
  --pt-green:           #25D366;
  --pt-border-dark:     #444441;
  --pt-border-light:    #E0DED7;

  /* Semantic roles */
  --pt-bg:              #2C2C2A;
  --pt-surface:         #F1EFE8;
  --pt-surface-mid:     #3A3A38;
  --pt-accent:          #D4537E;
  --pt-prestige:        #EF9F27;

  /* Text */
  --pt-text-primary:    #ffffff;
  --pt-text-soft:       #D3D1C7;
  --pt-text-muted:      #888780;
  --pt-text-subtle:     #5F5E5A;
  --pt-text-on-light:   #2C2C2A;

  /* Typography */
  --pt-font-display:    'Libre Baskerville', Georgia, serif;
  --pt-font-body:       'Tenor Sans', Arial, sans-serif;

  /* Type scale */
  --pt-size-display:    clamp(36px, 5vw, 54px);
  --pt-size-h1:         clamp(26px, 3.5vw, 34px);
  --pt-size-h2:         clamp(20px, 2.5vw, 26px);
  --pt-size-body:       15px;
  --pt-size-label:      11px;

  /* Spacing */
  --pt-section-pad:     30px;
  --pt-side-pad:        40px;
  --pt-side-pad-mob:    20px;

  /* Border radius */
  --pt-radius-btn:      999px;
  --pt-radius-sm:       4px;
  --pt-radius-md:       8px;
  --pt-radius-lg:       12px;
}

/* ============================================================
   2. BASE STYLES
   ============================================================ */

/* Page background + default text */
body,
.elementor-page {
  background-color: var(--pt-bg) !important;
  color:            var(--pt-text-primary) !important;
  font-family:      var(--pt-font-body) !important;
  font-size:        var(--pt-size-body) !important;
  line-height:      1.75 !important;
  letter-spacing:   0.01em !important;
}

/* Headings — Baskerville, white */
.pt-h1, .pt-h2, .pt-h3,
.pt-panel-heading,
.pt-hero-headline,
.pt-contact-heading {
  font-family:    var(--pt-font-display) !important;
  font-weight:    700 !important;
  line-height:    1.15 !important;
  letter-spacing: -0.01em !important;
  color:          var(--pt-text-primary) !important;
}

/* Italic accent — Baskerville italic, light grey */
em,
.pt-italic-accent,
.pt-panel-italic,
.pt-hero-headline em {
  font-family:  var(--pt-font-display) !important;
  font-style:   italic !important;
  font-weight:  400 !important;
  color:        var(--pt-text-soft) !important;
}

/* Body copy */
p,
.pt-body,
.pt-panel-body {
  font-family:  var(--pt-font-body) !important;
  font-size:    var(--pt-size-body) !important;
  color:        var(--pt-text-muted) !important;
  line-height:  1.75 !important;
}

/* Labels — spaced uppercase Tenor */
.pt-label,
.pt-panel-eyebrow,
.pt-hero-eyebrow,
.pt-nav-link,
.pt-mobile-link {
  font-family:    var(--pt-font-body) !important;
  font-size:      var(--pt-size-label) !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
}

/* ============================================================
   3. SECTION WRAPPER
   ============================================================ */

/* Every pt-section: 30px top/bottom, 40px left/right */
.pt-section {
  padding:    var(--pt-section-pad) var(--pt-side-pad) !important;
  position:   relative !important;
  overflow:   hidden !important;
  width:      100% !important;
}

/* Dark surface */
.pt-section.dark  { background-color: var(--pt-charcoal) !important; }

/* Light surface — text flips to dark */
.pt-section.light { background-color: var(--pt-champagne) !important; }

.pt-section.light .pt-panel-heading  { color: var(--pt-text-on-light) !important; }
.pt-section.light .pt-panel-italic   { color: var(--pt-text-subtle) !important; }
.pt-section.light .pt-panel-body     { color: var(--pt-text-subtle) !important; }
.pt-section.light .pt-panel-eyebrow  { color: var(--pt-text-muted) !important; }

/* ============================================================
   4. PANEL LAYOUT — 50/50 flex, image always right
   ============================================================ */

.pt-panel {
  display:        flex !important;
  flex-direction: row !important;
  width:          100% !important;
  min-height:     340px !important;
}

/* Reverse — image left, text right */
.pt-panel.reverse { flex-direction: row-reverse !important; }

/* Text column */
.pt-panel-text {
  width:           50% !important;
  flex:            0 0 50% !important;
  display:         flex !important;
  flex-direction:  column !important;
  justify-content: center !important;
  gap:             16px !important;
  padding-right:   40px !important;
}
.pt-panel.reverse .pt-panel-text {
  padding-right: 0 !important;
  padding-left:  40px !important;
}

/* Image column */
.pt-panel-image,
.pt-panel-video {
  width:         50% !important;
  flex:          0 0 50% !important;
  position:      relative !important;
  overflow:      hidden !important;
  border-radius: var(--pt-radius-md) !important;
  min-height:    280px !important;
}

.pt-panel-image img {
  position:   absolute !important;
  inset:      0 !important;
  width:      100% !important;
  height:     100% !important;
  object-fit: cover !important;
  display:    block !important;
}

/* Image hover — subtle zoom + pink tint */
.pt-panel-image img {
  transition: transform 0.5s ease !important;
}
.pt-panel-image:hover img {
  transform: scale(1.04) !important;
}
.pt-panel-image::after {
  content:    '' !important;
  position:   absolute !important;
  inset:      0 !important;
  background: rgba(212, 83, 126, 0) !important;
  transition: background 0.4s ease !important;
}
.pt-panel-image:hover::after {
  background: rgba(212, 83, 126, 0.08) !important;
}

/* ============================================================
   5. CORNER ACCENTS
   ============================================================ */

.pt-corner {
  position:       absolute !important;
  pointer-events: none !important;
  z-index:        0 !important;
}
.pt-corner-tl { top: 0;    left: 0; }
.pt-corner-br { bottom: 0; right: 0; transform: scale(-1); }

/* Content sits above corners */
.pt-panel { position: relative; z-index: 1; }

/* ============================================================
   6. BUTTON SYSTEM
   All buttons: pill shape, solid colour, white text
   Hover: white background, black text
   ============================================================ */

.pt-btn,
.pt-btn-submit,
.pt-nav-cta,
.pt-mobile-cta,
.pt-quote-cta,
.pt-qm-cta {
  font-family:      var(--pt-font-body) !important;
  font-size:        11px !important;
  letter-spacing:   0.16em !important;
  text-transform:   uppercase !important;
  padding:          12px 28px !important;
  border-radius:    var(--pt-radius-btn) !important;
  border:           none !important;
  color:            #ffffff !important;
  cursor:           pointer !important;
  display:          inline-block !important;
  position:         relative !important;
  overflow:         hidden !important;
  text-decoration:  none !important;
  white-space:      nowrap !important;
  transition:       background-color 0.25s ease, color 0.25s ease, transform 0.2s ease !important;
  -webkit-appearance: none !important;
  appearance:       none !important;
}

/* Shine sweep on hover */
.pt-btn::after,
.pt-btn-submit::after,
.pt-nav-cta::after,
.pt-qm-cta::after {
  content:    '' !important;
  position:   absolute !important;
  top:        0 !important;
  left:       -100% !important;
  width:      60% !important;
  height:     100% !important;
  background: rgba(255, 255, 255, 0.12) !important;
  transform:  skewX(-20deg) !important;
  transition: left 0.4s ease !important;
}
.pt-btn:hover::after,
.pt-btn-submit:hover::after,
.pt-nav-cta:hover::after,
.pt-qm-cta:hover::after {
  left: 160% !important;
}

/* All buttons hover → white bg, black text */
.pt-btn:hover,
.pt-btn-submit:hover,
.pt-nav-cta:hover,
.pt-mobile-cta:hover,
.pt-quote-cta:hover,
.pt-qm-cta:hover {
  background-color: #ffffff !important;
  color:            #1A1A18 !important;
  transform:        translateY(-2px) !important;
}
.pt-btn:active,
.pt-btn-submit:active,
.pt-nav-cta:active,
.pt-qm-cta:active {
  transform: scale(0.97) !important;
}

/* Button variants — at rest colours */
.pt-btn-pink           { background-color: var(--pt-pink) !important; }
.pt-btn-dark           { background-color: var(--pt-charcoal) !important; }
.pt-btn-hero-primary   { background-color: var(--pt-pink) !important; }
.pt-btn-hero-secondary { background-color: var(--pt-gold) !important; }
.pt-nav-cta            { background-color: var(--pt-pink) !important; }
.pt-mobile-cta         { background-color: var(--pt-pink) !important; }
.pt-btn-submit         { background-color: var(--pt-pink) !important; align-self: flex-start !important; }
.pt-qm-cta             { background-color: var(--pt-pink) !important; width: 100% !important; justify-content: center !important; }

/* ============================================================
   7. FILTER TABS
   Inactive: white bg, black text
   Hover + Active: pink bg, white text
   ============================================================ */

.pt-filter-btn {
  font-family:      var(--pt-font-body) !important;
  font-size:        11px !important;
  letter-spacing:   0.14em !important;
  text-transform:   uppercase !important;
  padding:          9px 22px !important;
  border-radius:    var(--pt-radius-btn) !important;
  border:           none !important;
  cursor:           pointer !important;
  background-color: #ffffff !important;
  color:            #1A1A18 !important;
  transition:       background-color 0.2s ease, color 0.2s ease !important;
  -webkit-appearance: none !important;
  appearance:       none !important;
}
.pt-filter-btn:hover,
.pt-filter-btn.active {
  background-color: var(--pt-pink) !important;
  color:            #ffffff !important;
}

/* ============================================================
   8. NAVIGATION
   ============================================================ */

.pt-nav {
  position:      sticky !important;
  top:           0 !important;
  z-index:       1000 !important;
  width:         100% !important;
  background:    var(--pt-charcoal) !important;
  border-bottom: 0.5px solid var(--pt-border-dark) !important;
  transition:    background 0.3s ease, border-color 0.3s ease !important;
}
.pt-nav.scrolled {
  background:    var(--pt-charcoal-deep) !important;
  border-bottom: 0.5px solid var(--pt-pink) !important;
}
.pt-nav-inner {
  display:         flex !important;
  align-items:     center !important;
  justify-content: space-between !important;
  padding:         0 var(--pt-side-pad) !important;
  height:          64px !important;
}
.pt-nav-logo-main {
  font-family:    var(--pt-font-display) !important;
  font-size:      15px !important;
  font-weight:    700 !important;
  color:          #ffffff !important;
  line-height:    1 !important;
}
.pt-nav-logo-sub {
  font-family:    var(--pt-font-body) !important;
  font-size:      9px !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color:          var(--pt-pink) !important;
}
.pt-nav-links {
  display:     flex !important;
  align-items: center !important;
  gap:         36px !important;
  list-style:  none !important;
}
.pt-nav-link {
  font-family:    var(--pt-font-body) !important;
  font-size:      11px !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color:          var(--pt-mist) !important;
  text-decoration: none !important;
  position:       relative !important;
  padding-bottom: 4px !important;
  transition:     color 0.25s ease !important;
  cursor:         pointer !important;
}
.pt-nav-link::after {
  content:    '' !important;
  position:   absolute !important;
  bottom:     0 !important;
  left:       0 !important;
  width:      0 !important;
  height:     1px !important;
  background: var(--pt-pink) !important;
  transition: width 0.3s ease !important;
}
.pt-nav-link:hover        { color: #ffffff !important; }
.pt-nav-link:hover::after { width: 100% !important; }
.pt-nav-link.active       { color: #ffffff !important; }
.pt-nav-link.active::after { width: 100% !important; }

/* Hamburger */
.pt-hamburger {
  display:        none !important;
  flex-direction: column !important;
  gap:            5px !important;
  cursor:         pointer !important;
  padding:        4px !important;
  background:     none !important;
  border:         none !important;
}
.pt-hamburger span {
  display:          block !important;
  width:            24px !important;
  height:           1.5px !important;
  background:       var(--pt-mist) !important;
  transition:       transform 0.3s ease, opacity 0.3s ease, background 0.25s ease !important;
  transform-origin: center !important;
}
.pt-hamburger:hover span          { background: #ffffff !important; }
.pt-hamburger.open span           { background: var(--pt-pink) !important; }
.pt-hamburger.open span:nth-child(1) { transform: translateY(6.5px) rotate(45deg) !important; }
.pt-hamburger.open span:nth-child(2) { opacity: 0 !important; transform: scaleX(0) !important; }
.pt-hamburger.open span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg) !important; }

/* Mobile menu */
.pt-mobile-menu {
  display:        flex !important;
  flex-direction: column !important;
  background:     var(--pt-charcoal-deep) !important;
  border-top:     0.5px solid #333330 !important;
  max-height:     0 !important;
  overflow:       hidden !important;
  transition:     max-height 0.4s ease, padding 0.3s ease !important;
}
.pt-mobile-menu.open { max-height: 400px !important; padding: 20px 0 !important; }
.pt-mobile-link {
  font-family:    var(--pt-font-body) !important;
  font-size:      12px !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color:          var(--pt-mist) !important;
  padding:        14px var(--pt-side-pad) !important;
  border-bottom:  0.5px solid var(--pt-charcoal) !important;
  cursor:         pointer !important;
  display:        flex !important;
  align-items:    center !important;
  justify-content: space-between !important;
  position:       relative !important;
  transition:     color 0.2s ease, background 0.2s ease, padding-left 0.2s ease !important;
  text-decoration: none !important;
}
.pt-mobile-link::before {
  content:    '' !important;
  position:   absolute !important;
  left:       0 !important; top: 0 !important; bottom: 0 !important;
  width:      2px !important;
  background: var(--pt-pink) !important;
  transform:  scaleY(0) !important;
  transition: transform 0.2s ease !important;
}
.pt-mobile-link:hover,
.pt-mobile-link.active {
  color:        var(--pt-pink) !important;
  background:   rgba(212, 83, 126, 0.06) !important;
  padding-left: calc(var(--pt-side-pad) + 4px) !important;
}
.pt-mobile-link:hover::before,
.pt-mobile-link.active::before { transform: scaleY(1) !important; }
.pt-mobile-link:last-of-type   { border-bottom: none !important; }
.pt-mobile-cta {
  margin:    16px var(--pt-side-pad) 4px !important;
  display:   inline-block !important;
  width:     auto !important;
  padding:   12px 28px !important;
}

/* ============================================================
   9. SCROLL ANIMATIONS
   ============================================================ */

.pt-fade-up {
  opacity:    0 !important;
  transform:  translateY(28px) !important;
  transition: opacity 0.65s ease, transform 0.65s ease !important;
}
.pt-fade-left {
  opacity:    0 !important;
  transform:  translateX(-32px) !important;
  transition: opacity 0.65s ease, transform 0.65s ease !important;
}
.pt-fade-right {
  opacity:    0 !important;
  transform:  translateX(32px) !important;
  transition: opacity 0.65s ease, transform 0.65s ease !important;
}
.pt-fade-in {
  opacity:    0 !important;
  transition: opacity 0.8s ease !important;
}
.pt-fade-up.visible,
.pt-fade-left.visible,
.pt-fade-right.visible,
.pt-fade-in.visible {
  opacity:   1 !important;
  transform: translate(0, 0) !important;
}
.pt-stagger-1 { transition-delay: 0s !important; }
.pt-stagger-2 { transition-delay: 0.1s !important; }
.pt-stagger-3 { transition-delay: 0.2s !important; }
.pt-stagger-4 { transition-delay: 0.3s !important; }
.pt-stagger-5 { transition-delay: 0.4s !important; }

/* ============================================================
   10. FLOATING ACTION BUTTONS (FABs)
   ============================================================ */

.pt-fab-right {
  position:       fixed !important;
  bottom:         32px !important;
  right:          32px !important;
  display:        flex !important;
  flex-direction: column !important;
  align-items:    center !important;
  gap:            10px !important;
  z-index:        9999 !important;
}
.pt-fab-top-wrap {
  position:  fixed !important;
  bottom:    32px !important;
  left:      50% !important;
  transform: translateX(-50%) !important;
  opacity:   0 !important;
  pointer-events: none !important;
  transition: opacity 0.35s ease !important;
  z-index:   9999 !important;
}
.pt-fab-top-wrap.visible {
  opacity:        1 !important;
  pointer-events: all !important;
}
.pt-fab {
  width:         52px !important;
  height:        52px !important;
  border-radius: 50% !important;
  border:        none !important;
  cursor:        pointer !important;
  display:       flex !important;
  align-items:   center !important;
  justify-content: center !important;
  transition:    background-color 0.25s ease, transform 0.25s ease !important;
  position:      relative !important;
  text-decoration: none !important;
  flex-shrink:   0 !important;
}
.pt-fab:hover  { transform: translateY(-3px) scale(1.08) !important; }
.pt-fab:active { transform: scale(0.95) !important; }

/* FAB tooltip */
.pt-fab-tooltip {
  position:    absolute !important;
  right:       calc(100% + 10px) !important;
  top:         50% !important;
  transform:   translateY(-50%) !important;
  background:  var(--pt-charcoal-deep) !important;
  color:       #ffffff !important;
  font-family: var(--pt-font-body) !important;
  font-size:   11px !important;
  letter-spacing: 0.08em !important;
  padding:     6px 12px !important;
  border-radius: var(--pt-radius-btn) !important;
  white-space: nowrap !important;
  opacity:     0 !important;
  pointer-events: none !important;
  transition:  opacity 0.2s ease !important;
  border:      0.5px solid var(--pt-border-dark) !important;
}
.pt-fab:hover .pt-fab-tooltip { opacity: 1 !important; }

/* Back to top — charcoal */
.pt-fab-top {
  background-color: var(--pt-charcoal) !important;
  border: 0.5px solid var(--pt-mist) !important;
}
.pt-fab-top:hover { background-color: #ffffff !important; }
.pt-fab-top:hover .top-icon { stroke: #1A1A18 !important; }
.top-icon { stroke: var(--pt-mist); transition: stroke 0.25s ease; }

/* WhatsApp — green */
.pt-fab-wa { background-color: var(--pt-green) !important; }
.pt-fab-wa:hover { background-color: #ffffff !important; }
.pt-fab-wa:hover .wa-icon { fill: var(--pt-green) !important; }
.wa-icon { fill: #ffffff; transition: fill 0.25s ease; }

/* Quote — pink */
.pt-fab-quote { background-color: var(--pt-pink) !important; }
.pt-fab-quote:hover { background-color: #ffffff !important; }
.pt-fab-quote:hover .calc-icon { stroke: var(--pt-pink) !important; }
.calc-icon { stroke: #ffffff; transition: stroke 0.25s ease; }

/* ============================================================
   11. VIDEO PANEL
   ============================================================ */

.pt-video-wrap {
  position:   absolute !important;
  inset:      0 !important;
  background: var(--pt-charcoal-deep) !important;
  cursor:     pointer !important;
}
.pt-video-thumb {
  position:   absolute !important;
  inset:      0 !important;
  width:      100% !important;
  height:     100% !important;
  object-fit: cover !important;
}
.pt-video-overlay {
  position:   absolute !important;
  inset:      0 !important;
  background: rgba(0,0,0,0.35) !important;
  transition: background 0.3s ease !important;
}
.pt-video-wrap:hover .pt-video-overlay { background: rgba(0,0,0,0.15) !important; }
.pt-play-btn {
  position:        absolute !important;
  top:             50% !important;
  left:            50% !important;
  transform:       translate(-50%, -50%) !important;
  width:           64px !important;
  height:          64px !important;
  border-radius:   50% !important;
  background:      var(--pt-pink) !important;
  display:         flex !important;
  align-items:     center !important;
  justify-content: center !important;
  transition:      transform 0.2s ease, background 0.2s ease !important;
  z-index:         2 !important;
}
.pt-video-wrap:hover .pt-play-btn {
  transform:  translate(-50%, -50%) scale(1.08) !important;
  background: var(--pt-pink-deep) !important;
}
.pt-play-btn svg { margin-left: 4px; }
.pt-video-duration {
  position:     absolute !important;
  bottom:       12px !important;
  right:        12px !important;
  background:   rgba(0,0,0,0.7) !important;
  color:        #fff !important;
  font-family:  var(--pt-font-body) !important;
  font-size:    11px !important;
  padding:      3px 10px !important;
  border-radius: var(--pt-radius-btn) !important;
  z-index:      2 !important;
}
.pt-video-wrap.playing .pt-video-thumb,
.pt-video-wrap.playing .pt-video-overlay,
.pt-video-wrap.playing .pt-play-btn,
.pt-video-wrap.playing .pt-video-duration { display: none !important; }
.pt-video-wrap video {
  position:   absolute !important;
  inset:      0 !important;
  width:      100% !important;
  height:     100% !important;
  object-fit: cover !important;
  display:    none !important;
}
.pt-video-wrap.playing video { display: block !important; }

/* ============================================================
   12. RESPONSIVE BREAKPOINTS
   ============================================================ */

@media (max-width: 1024px) {
  :root {
    --pt-side-pad: 32px;
  }
}

@media (max-width: 768px) {
  :root {
    --pt-side-pad: var(--pt-side-pad-mob);
  }

  /* Panels stack vertically on mobile */
  .pt-panel,
  .pt-panel.reverse {
    flex-direction: column !important;
  }
  .pt-panel-text {
    width:         100% !important;
    flex:          none !important;
    padding-right: 0 !important;
    padding-left:  0 !important;
    padding-top:   24px !important;
    order:         2 !important;
  }
  .pt-panel-image,
  .pt-panel-video {
    width:      100% !important;
    flex:       none !important;
    min-height: 220px !important;
    order:      1 !important;
    border-radius: var(--pt-radius-md) var(--pt-radius-md) 0 0 !important;
  }
  .pt-panel.reverse .pt-panel-text { order: 2 !important; }

  /* Nav — show hamburger, hide desktop links */
  .pt-nav-links,
  .pt-nav-cta-desktop { display: none !important; }
  .pt-hamburger       { display: flex !important; }
  .pt-mobile-menu     { display: flex !important; }

  /* FABs — tighter on mobile */
  .pt-fab-right { bottom: 20px !important; right: 20px !important; }
  .pt-fab-top-wrap { bottom: 20px !important; }
  .pt-fab { width: 46px !important; height: 46px !important; }
}

@media (min-width: 769px) {
  /* Nav — hide hamburger, show desktop links */
  .pt-hamburger   { display: none !important; }
  .pt-mobile-menu { display: none !important; max-height: 0 !important; }
  .pt-nav-links   { display: flex !important; }
  .pt-nav-cta-desktop { display: block !important; }
}

/* ============================================================
   13. ELEMENTOR OVERRIDES
   Reset Elementor's default styles that conflict with ours
   ============================================================ */

/* Prevent Elementor injecting white page background */
.elementor-section,
.elementor-container,
.elementor-widget-wrap {
  background-color: transparent !important;
}

/* Remove Elementor default column padding where we control it */
.elementor-widget-html {
  padding: 0 !important;
}

/* Ensure our fonts override Elementor's font injections */
.elementor *,
.elementor-widget * {
  font-family: inherit;
}/* End custom CSS */