html, body {
    overflow-x: clip;
    position: relative;
}

.desktop {
    display: none !important;
}

.desktop-adjustments {
    overflow-y: hidden;
}

.home-container {
    display: flex;
    position: relative;
    flex-direction: column;
    height: 100%;
}

.header-title {
    display: flex;
    position: relative;
    flex-direction: column;
    width: 100%;
    justify-content: center;
    align-items: center;
}

.pllc {
    text-align: center;
    font-family: 'Montserrat';
    font-size: 1rem;
    font-weight: bold;
    transform: translateY(-30px);
}

.signature {
    margin: 24px auto;
    font-family: PalmsDelight;
    /*font-size: 52px;*/
    font-size: clamp(2.5rem, calc(2.5rem + 1vw), 4rem);
    font-weight: normal;
    color: #9A9696;
}

.front-container {
    display: flex;
    position: relative;
    flex-direction: column;
    height: 100vh;
}

.home-header {
    display: flex;
    flex: 0 0 12.5%;
    align-items: center;
    width: calc(100vw - 40px);
    margin-right: auto;
    margin-left: auto;
    font-weight: bold;
    font-size: clamp(.9rem, calc(.9rem + 1vw), 1.125rem);
}

.home-body {
    position: relative;
    flex: 1;
    width: calc(100vw - 40px);
    margin-right: auto;
    margin-left: auto;
}

.home-footer {
    display: flex;
    flex-direction: column;
    justify-content: center;
    flex: 0 0 12.5%;
    width: calc(100vw - 40px) !important;
    margin-right: auto;
    margin-left: auto;
}

.home-photos {
    display: flex;
    position: relative;
    height: 85%;
    top: 0;
    width: 100%;
    justify-content: center;
    overflow: hidden;
    border-radius: 10px;
}

.home-background-image {
    overflow: hidden;
    width: 100%; /* Makes the image take the full width of its container */
    height: 100%; /* Makes the image take the full height of its container */
    object-fit: cover; /* This is the key property */
}

.my-photo {
    position: absolute;
    bottom: 0;
    height: 90%;
}

.welcome-container {
    display: flex;
    position: absolute;
    bottom: 0;
    height: 15%;
    width: 100%;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-size: clamp(1rem, calc(1rem + 1vw), 2rem);
    font-weight: bold;
}

.title-container {
    display: flex;
    position: relative;
    height: 15%;
    width: 100%;
    border-radius: 10px;
    align-items: center;
    vertical-align: middle;
    justify-content: center;
}

/* --- Navigation & Swiper Logic --- */
.home-navigation-bar {
    display: flex;
    position: relative;
    align-items: center;
    background-color: #202021;
    border-radius: 10px;
    height: 100%;
    
    /* Horizontal Scroll Settings */
    overflow-x: auto;
    scroll-snap-type: x proximity;
    
    /* Padding-right ensures the last item doesn't stick to the edge */
    padding: 10px 20px; 
    gap: 30px; 
    margin-bottom: 20px;

    /* Hide scrollbars */
    scrollbar-width: none; 
    -ms-overflow-style: none;
}
.home-navigation-bar::-webkit-scrollbar { display: none; }

.swipe-hint {
    display: flex;
    flex-direction: column;
    position: absolute;
    border-radius: 10px;
    right: -20px;
    aspect-ratio: 1/1;
    height: 90%;
    background: inherit;
    border: 2px solid #333;
    display: flex;
    justify-content: center;
    align-items: center;
    pointer-events: none;
    animation: swipeLoop 8s infinite;
    z-index: 5;
}

.subnav-swipe-hint {
    position: absolute;
    border-radius: 10px;
    right: 0px;
    aspect-ratio: 1/1;
    height: 70%;
    background: none;
    border: 1px none #333;
    display: flex;
    justify-content: center;
    align-items: center;
    pointer-events: none;
    animation: swipeLoop 8s infinite;
    z-index: 5;
}

.finger {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: auto;
}

.finger svg {
  width: 60%;
  fill: #3F84CA;
  object-fit: contain;
}

.subnav-finger svg {
  width: 48px;
  height: 48px;
  fill: #3F84CA;
}

@keyframes swipeLoop {
  0%   { transform: translateX(0); opacity: 1; }
  10%  { transform: translateX(-5px); }
  20%  { transform: translateX(0); }
  30%  { transform: translateX(-5px); }
  40%  { transform: translateX(0); }

  70%  { transform: translateX(-100vw); opacity: 1; }
  75%  { opacity: 0; }

  100% { transform: translateX(0); opacity: 0; }
}


.navigation-button {
    color: #5e5d5d;
    font-family: inherit;
    font-size: clamp(1rem, calc(1rem + 1vw), 1.5rem);
    font-weight: inherit;
    background: none;
    border: none;
    cursor: pointer;
    white-space: nowrap; /* Prevents text from wrapping */
    
    /* Swiper Item Logic */
    flex: 0 0 auto; 
    scroll-snap-align: start;
}

.consultation-button-home {
    background-color: black;
    color: #7C7C7C;
    font-size: 20px;
    font-family: Vollkorn;
    border-radius: 8px;
    cursor: pointer;
    margin-left: auto;
    margin-right: auto;
    margin-top: 25px;
    border: none;
    width: 350px;
    height: 40px;
    transition-duration: 0.2s;
    transition-timing-function: ease-in-out;
}

.text-container {
    margin-top: 20px;
    width: 80%;
    font-size: 14pt;
}

.second-bullet {
    margin-left: 40px;
    list-style-type: none;
    font-size: 14px;
}

.second-bullet::before {
    content: "\2014\2002";
}

.third-bullet {
    margin-left: 75px;
    list-style-type: square;
    font-size: 14px;
}

/* .third-bullet::before {
    content: "\2023\2002";
} */