@media print {
    @page {
        size: letter landscape;
        margin: 0.5in;
    }
}

body {
    font-family: Arial, sans-serif;
    background-color: #ffffff;
    position: relative; /* Needed for the abstract element */
    overflow: hidden; /* Prevents scrollbars from the element */
}

/* Abstract visual element in the background */
body::before {
    content: '';
    position: absolute;
    top: -150px;
    right: -150px;
    width: 400px;
    height: 400px;
    background-color: #003366; /* Your Brand Blue */
    border-radius: 50%;
    opacity: 0.08; /* Very subtle so it's not distracting */
    z-index: -1; /* Puts it behind all content */
}

.header {
    max-width: 1020px;
    margin: 30px auto 15px auto; /* Increased top margin for space */
}

.brand-logo {
    max-height: 130px; /* Logo size doubled */
}

.calendar-container {
    display: flex;
    max-width: 1020px;
    margin: 0 auto;
    align-items: flex-start;
}

.calendar {
    width: 75%;
}

.month-header {
    text-align: center;
    margin-bottom: 20px;
}

.month-header h1 {
    font-size: 24pt;
    font-weight: bold;
    color: #003366; /* Your Brand Blue */
    margin: 0;
}

.day-names, .days-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    text-align: center;
}

.day-names div {
    font-weight: bold;
    padding: 10px 0;
    color: #421c52; /* Your Brand Purple */
}

.day-cell {
    border: 1px solid #ddd;
    height: 90px;
    padding: 5px;
    position: relative;
    background-color: #fff; /* Ensures day cells are opaque over the background shape */
}

.day-number {
    position: absolute;
    top: 5px;
    left: 5px;
    font-size: 10pt;
}

.notes-section {
    width: 25%;
    padding-left: 20px;
    margin-top: 50px; /* Aligns top of notes with calendar grid */
}

.notes-section h2 {
    font-size: 18pt;
    color: #003366; /* Your Brand Blue */
    margin-bottom: 10px;
    text-align: center;
}

.notes-lines {
    border-top: 1px solid #ddd;
    height: 400px;
    background: repeating-linear-gradient(
        to bottom,
        #fff,
        #fff 24px,
        #ddd 25px
    );
}

.footer {
    text-align: right;
    font-size: 9pt;
    margin: 20px auto;
    max-width: 1020px;
}

.footer a {
    color: #003366; /* Your Brand Blue */
    text-decoration: none;