/* -----------------------------------------------------------------------------
   1. Font Imports
----------------------------------------------------------------------------- */
@import url('https://fonts.googleapis.com/css2?family=Helvetica:wght@700;800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Lato:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:wght@400;700;900&display=swap');

/* -----------------------------------------------------------------------------
   2. Global Styles & Base Typography
----------------------------------------------------------------------------- */

/* Base body settings and background */
body, html {
  background-color: #ffffff !important; /* Clean white background */
  background-image: none !important; /* Remove any background images */
  position: relative;
  line-height: 1.6;
  font-family: 'Montserrat', sans-serif;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: hidden !important; /* Prevent horizontal scrolling */
}

body::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
  margin-bottom: 1rem;
}

h1 {
  font-family: 'Lato', sans-serif;
  font-size: 2.5rem;
  font-weight: 700;
}

h2, h3, h4, h5, h6 {
  font-family: 'Noto Sans', sans-serif;
}

/* Paragraphs, buttons, and form elements already inherit Montserrat */
body, button, input, optgroup, select, textarea, p {
  font-family: 'Montserrat', sans-serif;
}

/* -----------------------------------------------------------------------------
   3. Navbar Styles - Main navigation bar styling
   - Controls appearance of the site header, logo, navigation links
   - Includes responsive behavior and mobile menu functionality
----------------------------------------------------------------------------- */

/* Reset all navbar styles to ensure transparency first */
.navbar, 
.navbar.is-fixed-top,
header .navbar,
.headroom .navbar,
.animated .navbar,
.headroom.animated .navbar,
header.headroom .navbar,
header.headroom.animated .navbar,
html body header .navbar {
  background: transparent !important;
  /* Replace solid background with vertical gradient */
  background-color: transparent !important;
  background-image: linear-gradient(to bottom, 
    rgba(255, 255, 255, 1) 0%, 
    rgba(255, 255, 255, 0.9) 60%,
    rgba(255, 255, 255, 0.8) 100%) !important;
  border-bottom: 1px solid rgb(11, 105, 180) !important; /* Blue border matching Dr. Laurenzi color */
  box-shadow: none !important;
  transition: all 0.3s ease !important;
  
  /* Ensure fixed positioning */
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 30 !important;
  
  /* Adjust border styles but keep blue bottom border */
  border-top: 1px solid rgba(255, 255, 255, 0.2) !important;
  border-left: 1px solid rgba(255, 255, 255, 0.2) !important;
  border-right: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 0 0 10px 10px !important;
}

/* Create subtle light reflection - move overflow hidden here just for this element */
.navbar:before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: -100% !important;
  width: 50% !important;
  height: 100% !important;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.1),
    transparent
  ) !important;
  transform: skewX(-25deg) !important;
  transition: all 0.75s ease !important;
  overflow: hidden !important; /* Move overflow hidden here */
  z-index: -1 !important; /* Send below other content */
}

/* Fix for the container inside the navbar to maintain width */
.navbar > .container {
  width: 100% !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}

/* Only add more pronounced background after scrolling */
.headroom--not-top .navbar,
header.headroom--not-top .navbar {
  /* Enhanced vertical gradient when scrolled */
  background-image: linear-gradient(to bottom, 
    rgba(255, 255, 255, 1) 0%, 
    rgba(255, 255, 255, 0.95) 60%,
    rgba(255, 255, 255, 0.9) 100%) !important;
  border-bottom: 1px solid rgb(11, 105, 180) !important; /* Keep blue border when scrolled */
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
}

/* Add shimmer animation when scrolled */
.headroom--not-top .navbar:before {
  left: 150% !important;
  transition: all 1.5s ease !important;
}

/* Navbar items styling - keep default blue for non-main items */
.navbar-item {
  color: rgb(11, 105, 180) !important; /* Keep blue for social icons */
  transition: all 0.3s ease;
  font-family: 'MessinaSans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
}

.navbar-item:hover {
  color: rgb(9, 85, 145) !important; /* Darker blue on hover for social icons */
  background-color: transparent !important; /* No background change on hover */
}

/* Main nav items styling - dark grey */
.main-nav-item {
  font-family: 'Noto Sans', sans-serif !important;
  font-weight: 500 !important;
  letter-spacing: 0.3px !important;
  text-transform: none !important;
  font-size: 15px !important;
  color: rgb(70, 70, 70) !important; /* Dark grey color for main nav items */
  font-style: normal !important; /* Ensure normal style by default */
  transition: all 0.3s ease !important; /* Smooth transition for all changes */
}

.main-nav-item:hover {
  color: rgb(40, 40, 40) !important; /* Darker grey on hover */
  background-color: transparent !important; /* No background change on hover */
  font-style: italic !important; /* Italic on hover */
}

/* Active navbar item */
.navbar-item.is-active {
  font-weight: 700;
  background-color: transparent !important; /* No background for active state */
  border-bottom: 2px solid rgba(11, 105, 180, 0.5) !important; /* Subtle underline instead */
}

.main-nav-item.is-active {
  color: rgb(40, 40, 40) !important; /* Darker grey for active state */
  background-color: transparent !important; /* No background for active state */
  border-bottom: 2px solid rgba(70, 70, 70, 0.5) !important; /* Subtle underline instead */
  font-style: normal !important; /* Keep active items non-italic */
}

.main-nav-item.is-active:hover {
  font-style: italic !important; /* Allow active items to also go italic on hover */
}

/* Dropdown styling */
.navbar-dropdown {
  background-color: rgba(255, 255, 255, 0.5) !important; /* Match navbar transparency */
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border-top: none !important;
  box-shadow: 0 8px 16px rgba(10, 10, 10, 0.07) !important;
  border-radius: 0 0 8px 8px !important; /* Rounded bottom corners */
}

.navbar-dropdown .navbar-item {
  color: rgb(11, 105, 180) !important; /* Keep blue for dropdown items */
}

.navbar-dropdown .main-nav-item {
  color: rgb(70, 70, 70) !important; /* Dark grey for main dropdown items */
}

/* Navbar brand text layout */
.navbar-brand .logo span {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.1rem !important;
}

.navbar-brand .logo .breamob {
  display: inline;
}

.navbar-brand .logo .breamob::before {
  content: "| ";
  margin: 0 0.25rem;
}

@media screen and (max-width: 768px) {
  .navbar-brand .logo span {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.1rem;
    line-height: 1.2;
    font-size: 0.95rem !important;
  }

  .navbar-brand .logo .breamob {
    margin-left: 0;
    font-size: 0.85rem !important;
    opacity: 0.9;
  }

  .navbar-brand .logo .breamob::before {
    content: none;
  }
}

/* -----------------------------------------------------------------------------
   4. Hero Section Styles & Image Responsiveness
----------------------------------------------------------------------------- */

/* Hero spacing for large screens can be adjusted in media queries */
.hero, .section, #home-section {
  background-color: #ffffff !important;
}

/* Navbar container should remain transparent */
header.headroom .container,
.navbar .container {
  background-color: transparent !important;
}

/* Force hero profile images to be responsive */
figure.image {
  width: 80%;
  max-width: 100%;
  margin: 0 auto;
}

figure.image img {
  width: 100%;
  height: auto;
  display: block;
}

/* -----------------------------------------------------------------------------
   5. Footer Styles - Site footer appearance and structure
   - Defines layout for footer columns, links, and social media icons
   - Controls typography, spacing, and visual elements in footer
----------------------------------------------------------------------------- */

.footer {
  padding: 3rem 1.5rem;
  width: 100% !important; /* Ensure full width */
}

.footer-header {
  font-family: 'MessinaSans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 0.8rem !important; /* Increased bottom margin for better spacing */
  color: #565656 !important; /* Match section title color */
}

.footer-text {
  font-family: 'MessinaModern', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
  font-size: 12px;
  line-height: 1.6 !important; /* Increased line height for better readability */
  margin-bottom: 0.5rem !important; /* Add consistent margin between paragraphs */
  color: #767676 !important; /* Lighter grey for footer text */
  text-align: left !important; /* Ensure consistent text alignment */
}

/* Footer columns should have consistent spacing */
.footer .column {
  padding-bottom: 1.5rem;
  display: flex !important;
  flex-direction: column !important;
}

/* Ensure the "Need Help Urgently" text has the same styling */
.footer .has-text-justified,
.footer p.has-text-grey {
  text-align: left !important; /* Override justified text to match others */
  line-height: 1.6 !important; /* Ensure same line height */
  margin-bottom: 0.5rem !important; /* Consistent margin */
}

/* Footer dividers now use the same styling as main dividers */
.footer hr {
  background-color: rgba(11, 105, 180, 0.2) !important; /* Light blue with opacity */
  height: 1px !important;
  border: none !important;
  margin: 2rem 0 1.5rem !important;
}

.footer .social-icons {
  margin-top: 0.5rem;
}

.footer .social-icons a {
  margin-right: 1rem;
  transition: color 0.3s ease;
  color: rgb(13, 125, 212);
}

.footer .social-icons a:hover {
  color: rgb(11, 105, 180) !important;
}

.footer .logo, .footer .logo span {
  font-family: 'MessinaSans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
  font-feature-settings: "kern";
  font-style: normal;
  font-weight: 600;
  letter-spacing: 0.5px;
  color: #565656 !important; /* Match section title color */
}

/* Add Noto Sans font */
@font-face {
  font-family: 'Noto Sans';
  src: url('https://fonts.gstatic.com/s/notosans/v27/o-0IIpQlx3QUlC5A4PNr5TRA.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Noto Sans';
  src: url('https://fonts.gstatic.com/s/notosans/v27/o-0NIpQlx3QUlC5A4PNjXhFVZNyB.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

/* Add Montserrat font */
@font-face {
  font-family: 'Montserrat';
  src: url('https://fonts.gstatic.com/s/montserrat/v25/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCu173w5aXx-p7K4KLg.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* -----------------------------------------------------------------------------
   6. Utility Classes
----------------------------------------------------------------------------- */

/* Divider styling - light blue and faded */
.divider {
  background-color: rgba(11, 105, 180, 0.2) !important; /* Light blue with opacity */
  height: 1px !important;
  border: none !important;
  margin: 1rem 0 1.5rem !important;
}

/* Reusable spacer */
.spacer {
  height: 100px !important;
}

/* Scroll Down Arrow */
.scroll-down {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  cursor: pointer;
  animation: bounce 2s infinite;
  z-index: 9999;
}

.scroll-down img {
  width: 40px;
  height: auto;
}

/* Reference Box */
.reference-box {
  background-color: #f5f5f5;
  border: 1px solid #ddd;
  border-radius: 5px;
  padding: 10px;
  margin: 1% auto;
  max-width: 800px;
  text-align: center;
  font-size: 14px;
  color: #555;
  font-family: 'Noto Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif !important;
  font-weight: 400 !important;
  line-height: 1.5;
}

.reference-box p {
  font-family: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  color: inherit !important;
}

.reference-box i {
  font-style: italic !important;
}

/* -----------------------------------------------------------------------------
   7. Media Queries (Mobile Adjustments)
----------------------------------------------------------------------------- */

/* For devices with max-width of 700px */
@media only screen and (max-width: 700px) {

  /* Adjust hero padding */
  .hero {
    padding-top: 3vh;
    padding-bottom: 3vh;
  }
  
  /* Center headings (if desired) */
  .h1 {
    text-align: center !important;
  }
  
  /* Adjust column ordering and spacing for mobile */
  .col-image {
    order: 1;
    margin-bottom: 1rem;
  }
  .col-text {
    order: 2;
    padding: 0 1rem;
  }
  
  /* Footer mobile adjustments */
  .footer .column {
    margin-bottom: 2.5rem !important;
    text-align: left !important;
    align-items: flex-start !important;
  }

  .footer h3,
  .footer-header,
  .footer-text,
  .footer p.has-text-grey,
  .footer .has-text-justified {
    text-align: left !important;
  }

  .footer .logo:after {
    margin: 0.8rem 0 0.5rem !important;
  }

  .footer .social-icons {
    display: flex !important;
    justify-content: flex-start !important;
    gap: 1.5rem !important;
  }

  .footer .social-icons a {
    margin-right: 0 !important;
  }
  
  /* Example of forcing container reordering in a section */
  .pt-container {
    flex-direction: column-reverse !important;
  }
}

/* Tablet responsiveness (iPad in portrait mode) */
@media only screen and (min-width: 701px) and (max-width: 1023px) {
  /* Improve navbar responsiveness for tablets */
  .navbar-brand {
    width: 100% !important;
    justify-content: space-between !important;
  }
  
  .navbar-burger {
    display: block !important;
  }
  
  .navbar-menu {
    display: none !important;
  }
  
  .navbar-menu.is-active {
    display: block !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    background-color: white !important;
    box-shadow: 0 8px 16px rgba(10, 10, 10, 0.1) !important;
  }
  
  /* Ensure navbar doesn't become too tall */
  .navbar {
    height: auto !important;
    min-height: 3.25rem !important;
  }
  
  /* Adjustments for text in navbar */
  .navbar-brand .logo span {
    font-size: 1rem !important;
  }
  
  /* Add more space to logo area */
  .navbar-item.logo {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  
  /* Better spacing for sections */
  .hero {
    padding-top: 4vh;
    padding-bottom: 4vh;
  }
  
  /* Fix MD description visibility on medium screens */
  .breamob {
    display: inline !important;
  }
}

/* -----------------------------------------------------------------------------
   8. Keyframes
----------------------------------------------------------------------------- */
@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    transform: translateX(-50%) translateY(0);
  }
  40% {
    transform: translateX(-50%) translateY(-10px);
  }
  60% {
    transform: translateX(-50%) translateY(-5px);
  }
}

.footer .column {
  padding-bottom: 1.5rem;
}

/* Fix 3: Center page content properly */
.container {
  margin: 0 auto !important; /* Center containers */
  max-width: 1200px !important; /* Set consistent max-width */
  width: 100% !important; /* Full width up to max-width */
  padding-left: 1.5rem !important; /* Consistent padding */
  padding-right: 1.5rem !important;
}

/* Remove any potential extra margins */
body, html {
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: hidden !important; /* Prevent horizontal scrolling */
}

/* Fix any potential column alignment issues */
.columns {
  margin-left: -0.75rem !important;
  margin-right: -0.75rem !important;
  margin-top: -0.75rem !important;
}

.column {
  padding: 0.75rem !important;
}

/* Ensure sections are properly centered */
.section {
  padding: 3rem 1.5rem !important;
  width: 100% !important;
}

/* Fix any potential hero alignment */
.hero-body {
  padding: 3rem 1.5rem !important;
}

/* Button styling with Noto Sans */
.button {
  font-family: 'Noto Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: 0.5px !important;
  text-transform: none !important; /* Changed from uppercase to none for sentence case */
  font-size: 0.85rem !important; /* Reduced from 0.9rem */
  height: auto !important;
  padding: 0.7em 1.4em !important; /* Slightly reduced padding */
  border-radius: 4px !important;
  transition: all 0.2s ease !important; /* Changed from color to all for scale effect */
  min-width: 180px !important; /* Set minimum width for consistency */
  text-align: center !important;
  display: inline-flex !important;
  justify-content: center !important;
  align-items: center !important;
  position: relative !important; /* For proper scaling */
  transform: scale(1) !important; /* Initial scale */
  -webkit-tap-highlight-color: transparent !important; /* Remove tap highlight on mobile */
  outline: none !important; /* Remove outline on click */
  user-select: none !important; /* Prevent text selection */
  -webkit-appearance: none !important; /* Remove default styling on iOS */
  -moz-appearance: none !important;
  appearance: none !important;
  color: #565656 !important; /* Match section title color */
}

/* Button states - remove all default behaviors */
.button:active,
.button:focus,
.button:focus-visible,
.button:focus-within,
.button:-moz-focusring,
.button::-moz-focus-inner {
  outline: none !important;
  border-color: inherit !important;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  border: none !important;
}

/* Button active state - scale effect only */
.button:active {
  transform: scale(0.97) !important; /* Subtle scale down effect when clicked */
  transition: transform 0.1s ease !important; /* Faster transition for active state */
}

/* Primary button styling */
.button.is-primary {
  background-color: rgb(11, 105, 180) !important; /* Match navbar color */
  border-color: transparent !important;
  color: white !important;
}

.button.is-primary:active,
.button.is-primary:focus {
  background-color: rgb(11, 105, 180) !important; /* Keep same color when pressed - no darkening */
  border-color: transparent !important;
}

/* Secondary/outlined button styling */
.button.is-outlined {
  background-color: transparent !important;
  border-color: rgb(11, 105, 180) !important;
  color: rgb(11, 105, 180) !important;
}

.button.is-outlined:hover {
  background-color: rgba(11, 105, 180, 0.05) !important;
  color: rgb(9, 85, 145) !important;
  border-color: rgb(9, 85, 145) !important;
}

.button.is-outlined:active,
.button.is-outlined:focus {
  background-color: transparent !important; /* No background change when pressed */
  color: rgb(11, 105, 180) !important; /* Keep same color when pressed */
  border-color: rgb(11, 105, 180) !important; /* Keep same border when pressed */
  outline: none !important;
}

/* Additional override to prevent any focus styles */
*:focus {
  outline: none !important;
}

/* Ensure clean rendering for headers */
h1, h2, h3, h4, h5, h6, .title, .subtitle {
  font-smooth: always !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
}

/* Fix overscroll background issue */
html {
  background-color: white !important; /* White background */
  overflow-y: scroll !important; /* Always show vertical scrollbar to prevent layout shifts */
}

body {

  min-height: 100vh !important; /* Ensure body fills at least the full viewport height */
  position: relative !important; /* For proper stacking context */
  overflow-x: hidden !important; /* Prevent horizontal scrolling */
}

/* Fix for mobile browsers */
@media screen and (max-width: 768px) {
  html, body {
    overscroll-behavior: none !important; /* Prevent bounce/rubber-band effect */
  }
}

/* Consistent text formatting across all sections (consolidated) */
.content p, p, .section p {
  font-family: 'MessinaModern', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
  font-weight: 400 !important;
  font-size: 16px;
  line-height: 1.6;
  color: rgb(65, 65, 65) !important;
  margin-bottom: 1rem;
}

/* Consistent heading styles (consolidated) */
h1, h2, h3, h4, h5, h6, .title, .subtitle {
  font-family: 'MessinaSans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
  font-weight: 600 !important;
  color: rgb(51, 51, 51) !important;
  margin-bottom: 1rem;
}

/* Specific heading sizes */
h1, .title.is-1 {
  font-size: 2.5rem;
}

h2, .title.is-2 {
  font-size: 2rem;
}

/* Fix hamburger menu in mobile mode */
@media screen and (max-width: 1023px) {
  /* Ensure navbar menu expands properly */
  .navbar-menu.is-active {
    display: block !important;
    position: absolute !important;
    top: 100% !important; /* Position right below navbar */
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-height: calc(100vh - 3.25rem) !important; /* Full viewport height minus navbar */
    overflow-y: auto !important; /* Allow scrolling if many items */
    /* Mobile menu gets its own subtle gradient */
    background-image: linear-gradient(to bottom, 
      rgba(255, 255, 255, 0.9) 0%, 
      rgba(255, 255, 255, 0.8) 50%,
      rgba(255, 255, 255, 0.7) 100%) !important;
    box-shadow: 0 8px 16px rgba(10, 10, 10, 0.07) !important;
    z-index: 31 !important; /* Higher than navbar */
    padding: 0.5rem 0 !important;
    border-radius: 0 0 10px 10px !important;
  }

  /* Ensure the burger menu is visible and properly styled */
  .navbar-burger {
    display: block !important;
    cursor: pointer !important;
    height: 3.25rem !important;
    width: 3.25rem !important;
    margin-left: auto !important;
    position: relative !important;
    background-color: transparent !important;
    border: none !important;
  }
  
  .navbar-burger span {
    background-color: rgb(70, 70, 70) !important; /* Match nav item color */
    display: block !important;
    height: 2px !important;
    left: calc(50% - 8px) !important;
    position: absolute !important;
    transform-origin: center !important;
    transition: all 0.2s ease-out !important;
    width: 16px !important;
  }
  
  .navbar-burger span:nth-child(1) {
    top: calc(50% - 6px) !important;
  }
  
  .navbar-burger span:nth-child(2) {
    top: calc(50%) !important;
  }
  
  .navbar-burger span:nth-child(3) {
    top: calc(50% + 6px) !important;
  }
  
  /* Burger animation when active */
  .navbar-burger.is-active span:nth-child(1) {
    transform: translateY(6px) rotate(45deg) !important;
  }
  
  .navbar-burger.is-active span:nth-child(2) {
    opacity: 0 !important;
  }
  
  .navbar-burger.is-active span:nth-child(3) {
    transform: translateY(-6px) rotate(-45deg) !important;
  }

  /* Style navbar items in mobile menu */
  .navbar-menu.is-active .navbar-item {
    padding: 0.75rem 1.5rem !important;
    height: auto !important;
    min-height: 2.5rem !important;
    display: block !important;
    width: 100% !important;
  }

  /* Fix dropdown in mobile menu */
  .navbar-menu.is-active .navbar-dropdown {
    position: static !important;
    display: block !important;
    border: none !important;
    box-shadow: none !important;
    padding-left: 1.5rem !important;
    background-color: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  /* Ensure dropdown items are properly styled */
  .navbar-menu.is-active .navbar-dropdown .navbar-item {
    padding-left: 1.5rem !important;
  }

  /* Special handling for active items in mobile */
  .navbar-item.is-active, .main-nav-item.is-active {
    border-bottom: none !important; /* Remove bottom border in mobile */
    border-left: 3px solid rgba(11, 105, 180, 0.5) !important; /* Side indicator instead */
    padding-left: 1.3rem !important; /* Adjust padding to account for border */
  }
  
  .main-nav-item.is-active {
    border-left: 3px solid rgba(70, 70, 70, 0.5) !important; /* Grey for main nav items */
  }
}

/* Center buttons */
.buttons {
  justify-content: center !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 1rem !important; /* Consistent spacing between buttons */
  margin-bottom: 1.5rem !important;
}

/* Individual button in a buttons group */
.buttons .button {
  margin: 0 !important; /* Remove default margins that might cause misalignment */
}

/* Ensure proper spacing for the first section to account for fixed navbar */
.hero:first-of-type {
  padding-top: 80px !important;
}

/* Section Title Colors - Lighter Grey */
.titled.title, 
.hero .title.titled,
section .title.is-1,
#my-approach b.is-1 {
  color: #565656 !important; /* 10% heavier than previous #5F5F5F */
}

/* Styling per la prima colonna del footer (logo) */
.footer .logo {
  display: block;
  position: relative;
  padding-bottom: 1rem;
}

.footer .logo h3 {
  font-family: 'MessinaSans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
  font-weight: 700 !important;
  font-size: 22px;
  line-height: 1.2;
  letter-spacing: 0.5px;
  color: #565656 !important;
  margin-bottom: 0.2rem !important;
}

.footer .logo h3 .footer-header {
  font-size: 16px !important;
  font-weight: 500 !important;
  letter-spacing: 0.3px;
  opacity: 0.9;
}

/* Aggiunta di un divisore stilizzato sotto il logo */
.footer .logo:after {
  content: '';
  display: block;
  width: 40px;
  height: 2px;
  background-color: rgba(11, 105, 180, 0.4) !important;
  margin-top: 0.8rem;
  margin-bottom: 0.5rem;
}

/* Suggerimento spazio per logo futuro */
.footer .logo-placeholder {
  width: 160px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-bottom: 1rem;
}

/* Commento per possibile futuro logo */
/*
.footer .logo img {
  max-width: 160px;
  height: auto;
  display: block;
}
*/

/* Footer divider at top - moved from inline styles for better maintainability */
.footer-divider-top {
  height: 1px;
  margin-bottom: 2rem; /* Creates space between divider and content */
}

/* Footer divider at bottom - moved from inline styles for better maintainability */
.footer-divider-bottom {
  height: 1px;
  margin-top: 2rem; /* Creates space above the divider */
  margin-bottom: 1.5rem; /* Creates space below the divider */
}

/* Navbar height - fixed pixel value with responsive adjustment */
.navbar-height-fixed {
  height: 72px;
}

@media screen and (max-width: 768px) {
  .navbar-height-fixed {
    height: 60px;
  }
}

/* -----------------------------------------------------------------------------
   9. Premium Accent Button (Gold/Amber)
----------------------------------------------------------------------------- */
.button.is-yellow {
  background-color: #c9a84c !important;
  border-color: transparent !important;
  color: #fff !important;
  font-weight: 600 !important;
}

.button.is-yellow:hover {
  background-color: #b8963f !important;
  color: #fff !important;
}

.button.is-yellow:active {
  background-color: #a6852f !important;
  transform: scale(0.97) !important;
}

/* -----------------------------------------------------------------------------
   10. Questionnaire Selection Links
----------------------------------------------------------------------------- */
.questionnaire-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.questionnaire-list li {
  margin-bottom: 0.5rem;
}

.questionnaire-list li a {
  display: block;
  padding: 0.85rem 1.2rem;
  border-left: 3px solid rgba(11, 105, 180, 0.3);
  color: rgb(11, 105, 180) !important;
  font-weight: 600;
  font-size: 1.05rem;
  transition: all 0.25s ease;
  text-decoration: none;
}

.questionnaire-list li a:hover {
  border-left-color: rgb(11, 105, 180);
  background-color: rgba(11, 105, 180, 0.04);
  color: rgb(9, 85, 145) !important;
  padding-left: 1.5rem;
}

/* -----------------------------------------------------------------------------
   11. Waitlist Notice (elegant alternative to red text)
----------------------------------------------------------------------------- */
.waitlist-notice {
  font-size: 0.88rem;
  color: #767676 !important;
  font-style: italic;
  border-left: 2px solid rgba(11, 105, 180, 0.3);
  padding-left: 0.75rem;
  margin-top: 1.25rem;
}