/* FONT IMPORTS */
@font-face {
    font-family: 'PP Editorial New';
    src: url('./FONTS/PPEditorialNew-Italic.woff2') format('woff2'),
        url('./FONTS/PPEditorialNew-Italic.woff') format('woff');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'PP Editorial New';
    src: url('./FONTS/PPEditorialNew-Regular.woff2') format('woff2'),
        url('./FONTS/PPEditorialNew-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'PP Editorial New';
    src: url('./FONTS/PPEditorialNew-Ultrabold.woff2') format('woff2'),
        url('./FONTS/PPEditorialNew-Ultrabold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'PP Editorial New';
    src: url('./FONTS/PPEditorialNew-Ultralight.woff2') format('woff2'),
        url('./FONTS/PPEditorialNew-Ultralight.woff') format('woff');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'PP Editorial New';
    src: url('./FONTS/PPEditorialNew-UltralightItalic.woff2') format('woff2'),
        url('./FONTS/PPEditorialNew-UltralightItalic.woff') format('woff');
    font-weight: 200;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'PP Editorial New';
    src: url('./FONTS/PPEditorialNew-UltraboldItalic.woff2') format('woff2'),
        url('./FONTS/PPEditorialNew-UltraboldItalic.woff') format('woff');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

/* PP Neue Montreal Book */
@font-face {
  font-family: "PP Neue Montreal";
  src: url("./FONTS/PPNeueMontreal-Book.otf") format("opentype");
  font-weight: normal; /* Book is typically considered a regular weight */
  font-style: normal;
}

/* PP Neue Montreal Bold */
@font-face {
  font-family: "PP Neue Montreal";
  src: url("./FONTS/PPNeueMontreal-Bold.otf") format("opentype");
  font-weight: bold;
  font-style: normal;
}

/* GENERAL BODY STYLES */
body {
    font-family: 'PP Editorial New', serif;
    margin: 0;
    padding: 0;
    background: white;
    color: black;
    overflow-y: auto; /* Enable scrolling */
    overflow-x: hidden; /* Prevent horizontal scrolling */
    height: 100%;
}

/* MAIN CONTAINER */
.container {
    display: grid; /* Use grid layout */
    grid-template-columns: 9fr 5fr; /* Equal columns for left and right */
    gap: 20px; /* Adjust spacing between sections */
    width: 100%; /* Adjust overall container width */
    max-width: 1200px; /* Set a max-width for the container */
    margin: 0 auto; /* Center the container */
    align-items: start; /* Keep both sections aligned to the top */
}

/* LEFT SECTION */
.left-section {
    max-width: 1000px; /* Limit width for text and image */
    align-self: start; /* Align to the top */
    text-align: left;
    margin-top: 300px; /* Adjust margin if needed */
    overflow: hidden; /* Prevent content from exceeding bounds */
}

.main-image {
    width: 250px; /* Adjust image size */
    height: auto;
    margin-bottom: 0px;
}

/* CONTENT TEXT (TYPEWRITER EFFECT) */
.content-text {
    font-family: 'PP Editorial New', serif;
    font-weight: 200;
    font-style: normal;
    font-size: 1.6rem;
    line-height: 0.95;
    color: black;
    max-width: 850px; /* Keep text width manageable */
    margin: 0px;
    white-space: normal;
    word-wrap: normal;
    word-break: keep-all;
    overflow: hidden; /* Prevent overflow */
  animation: typing 3s steps(50, end), blink 0.5s step-end 11 forwards; /* Typing + Blinking */
  border-right: 2px solid black; /* Cursor effect */
  padding-right: 10px; /* Space between text and cursor */
}

/* Typing Effect */
@keyframes typing {
  from {
    width: 0;
  }
  to {
    width: 100%;
  }
}

/* Blinking Effect */
@keyframes blink {
  0% {
    border-color: black;
  }
  50%, 100% {
    border-color: transparent;
  }
}

/* Cursor Disappear Effect */
.content-text::after {
  content: "";
  display: inline-block;
  width: 2px; /* Width of the cursor */
  height: 0em; /* Height relative to text size */
  background: black;
  animation: blink 0.5s step-end 11, disappear 1s step-end 1 5.5s forwards; /* Blink and disappear after */
}

/* Disappear Animation */
@keyframes disappear {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

/* RIGHT SECTION */
.right-section {
    text-align: right; /* Align content to the right */
    align-self: start; /* Keep the right section aligned to the top */
    margin-top: 0; /* Adjust to fix vertical positioning */
    max-width: 600px; /* Limit width for text and image */
    overflow: hidden; /* Prevent content from exceeding bounds */
}

.title {
    font-family: 'PP Editorial New', serif;
    font-weight: normal;
    font-style: normal;
    font-size: 4.3rem;
    text-transform: lowercase;
    color: #F5ABED; /* Purple */
    margin: 0;
    line-height: 0.9;
    margin-top: 178px; /* Adjust spacing below menu */
}

.subtitle {
    font-family: 'PP Neue Montreal';
    font-weight: bold;
    font-style: normal;
    font-size: 2.5rem;
    text-transform: uppercase;
    color: black;
    line-height: 1;
    margin-top: 10px;
}

/* NAVIGATION (MENU BAR) */
.menubar {
    position: fixed;
    z-index: 10;
    width: 100%;
    display: flex;
    justify-content: center;
}

.nav {
    width: 100%;
    max-width: 1200px;
    display: flex;
    justify-content: space-between;
    padding: 75px 0; /* Adjust spacing below menu bar */
    font-family: 'PP Neue Montreal';
    font-size: 1.2rem;
    text-transform: uppercase;
    font-weight: 500;
    background: white;
    color: #0325AB; /* Blue */
}

.nav a {
    text-decoration: none;
    color: #0325AB;
    transition: color 0.3s ease, text-decoration 0.3s ease;
}

.nav a:hover {
    color: #F5ABED; /* Purple hover */
    text-decoration: line-through;
}

/* Footer Contact */
.footer-email {
    font-family: 'PP Editorial New', serif;
    font-size: 1.3rem;
    letter-spacing: 0.2px;
    font-weight: 300;
    color: black; /* Match the menu tab color */
    text-decoration: none; /* Remove default underline */
    margin-top: 50px; /* Adjust to fix vertical positioning */
}

.email-box a {
    color: black; /* Default text color */
    text-decoration: none; /* Remove underline */
    padding: 0 10px; /* Add padding to make the highlight longer */
    background: linear-gradient(to right, #0325AB 0%, #0325AB 100%);
    background-size: 0% 100%; /* Start with no background highlight */
    background-repeat: no-repeat; /* Ensure the highlight doesn't repeat */
    transition: background-size 0.15s ease-in-out, color 0.15s ease-in-out; /* Smooth transition */
    display: inline-block; /* Ensure padding affects the background size */
}

.email-box a:hover {
    background-size: calc(100% + 20px) 100%; /* Extend the highlight by 20px (10px on each side) */
    color: white; /* Change text color to contrast with the blue background */
}

.footer-phone {
    font-family: 'PP Editorial New', serif;
    font-size: 1.2rem;
    letter-spacing: 0.2px;
    font-weight: 300;
    color: black; /* Match the menu tab color */
    text-decoration: none; /* Remove default underline */
    margin-top: 3px; /* Adjust to fix vertical positioning */
}

.phone-box a {
    color: black; /* Default text color */
    text-decoration: none; /* Remove underline */
    padding: 0 10px; /* Add padding to make the highlight longer */
    background: linear-gradient(to right, #0325AB 0%, #0325AB 100%);
    background-size: 0% 100%; /* Start with no background highlight */
    background-repeat: no-repeat; /* Ensure the highlight doesn't repeat */
    transition: background-size 0.15s ease-in-out, color 0.15s ease-in-out; /* Smooth transition */
    display: inline-block; /* Ensure padding affects the background size */
}

.phone-box a:hover {
    background-size: calc(100% + 20px) 100%; /* Extend the highlight by 20px (10px on each side) */
    color: white; /* Change text color to contrast with the blue background */
}

/* Responsive Design for Mobile */
@media (max-width: 768px) {
    .container {
        display: flex; /* Change to flexbox for mobile */
        flex-direction: column-reverse; /* Switch order: right-section first */
        align-items: center; /* Center-align items */
        overflow-x: hidden; /* Disable horizontal scrolling */
    }

    .left-section {
        width: 100%; /* Full width for mobile */
        text-align: left; /* Center-align content */
        margin-top: -60px; /* Adjust spacing */
        margin-left: 20px; /* Adjust spacing */
    }
    .content-text {
       font-size: 1rem;
       line-height: 1;
       width: 90%; /* Full width for mobile */
       color: black;
    }
    .right-section {
        width: 100%; /* Full width for mobile */
        text-align: right; /* Center-align text */
        margin-top: 95px; /* Adjust spacing */
        margin-left: -20px;
    }

    .main-image {
        width: 115px; /* Adjust image size for mobile */
        height: auto;
        margin: 0 auto; /* Center the image */
    }

    .title {
        font-family: 'PP Editorial New', serif;
        font-size: 2.2rem; /* Reduce title size for mobile */
        margin-top: 8px; /* Adjust spacing */
    }

    .subtitle {
        font-family: 'PP Neue Montreal';
        font-weight: bold;
        font-size: 1.3rem; /* Reduce subtitle size for mobile */
        line-height: 1; /* Adjust line height */
        margin-top: 5px;
    }

    .nav {
        font-family: 'PP Neue Montreal';
        font-weight: 500;    
        flex-direction: row; /* Stack navigation links */
        gap: 3px; /* Add spacing between links */
        padding: 35px 0;
        margin-left: 20px;
        margin-right: 20px;
        margin-top: 10px;
        font-size: 0.9rem; /* Reduce title size for mobile */
    }

    .nav a {
    text-decoration: none;
    color: #0325AB;
    transition: color 0.05s ease, text-decoration 0.05s ease;
    }

    .nav a:hover {
    color: #F5ABED; /* Purple hover */
    text-decoration: line-through;
    }

    .footer-email,
    .footer-phone {
        font-family: 'PP Editorial New', serif;
        font-weight: 300;
        font-size: 0.8rem; /* Adjust footer text size */
        text-align: center;
        margin-top: -80px;
    }

    .email-box a,
    .phone-box a {
        background-size: 0% 100%; /* Reset background size for hover effect */
        padding: 0 5px; /* Adjust padding for smaller screens */
    }
}