/* ----- Compact mode (toggle with <body class="compact">) ----- */
body.compact {
  line-height: 1.5;                /* slightly tighter text */
}

/* Navigation */
body.compact nav > div { padding: 0.75rem 1rem; }                    /* was 1.5rem 2rem */
body.compact nav .nav-links { gap: 1rem; }                           /* was 2rem */
body.compact .nav-link { font-size: 0.8125rem; padding: 0.375rem; }  /* was 0.875rem / 0.5rem */

/* Global section spacing */
body.compact section { padding: 1.25rem 1.25rem; 0.01rem; 1.25rem; }                    /* was 4rem 2rem */
body.compact section-around { margin-bottom: 1.25rem; } 
body.compact .section-container { max-width: 1200px; }               /* a touch narrower */

/* Hero */
body.compact .hero-section { padding-top: 6rem; padding-bottom: 0; }
body.compact .hero-section h2 { font-size: 6rem; margin-bottom: 1.25rem; }  /* was 9rem */
body.compact .hero-subtitle-container { padding-left: 1rem; padding-bottom: 3rem; border-left-width: 2px; }
body.compact .hero-subtitle-container p { font-size: 1.0625rem; line-height: 1.65; } /* was 1.25rem */

/* Section titles */
body.compact .section-title { font-size: 4.0rem; line-height: 1; padding-bottom: 1rem; }              

/* About */
body.compact .about-grid { gap: 1rem; }                              /* was 4rem */
body.compact .about-title-container { margin-bottom: 0.75rem; }
body.compact .about-text p { font-size: 1rem; line-height: 1.65; margin-bottom: 1rem; } /* was 1.125rem / 1.5rem */
body.compact .about-buttons { gap: 0.75rem; margin-top: 1rem; }
body.compact .button-3d { padding: 0.5rem 1rem; font-size: 14px; border-width: 2px; border-radius: 10px; }

/* Timeline (Experience) */
body.compact .timeline-container { padding-left: 2rem; }             /* was 3rem */
body.compact .timeline-item { margin-bottom: 1.75rem; padding-left: 2.25rem; }
body.compact .timeline-dot { width: 28px; height: 28px; top: 1.25rem; }
body.compact .timeline-line { left: 45px; }
body.compact .timeline-content { padding: 1.25rem; }                 /* was 2rem */
body.compact .timeline-date { font-size: 0.7rem; margin-bottom: 0.5rem; }
body.compact .timeline-title { font-size: 1.5rem; margin-bottom: 0.25rem; } /* was 1.875rem */
body.compact .timeline-company { font-size: 1rem; margin-bottom: 0.75rem; }  /* was 1.125rem */
body.compact .timeline-description { line-height: 1.65; }

/* Carousel */
body.compact .carousel-container { margin: 1rem 0; }
body.compact .carousel-viewport { border-width: 1px; }
body.compact .carousel-nav { width: 30px; height: 30px; font-size: 1.25rem; }
body.compact .carousel-nav.prev { left: -14px; }
body.compact .carousel-nav.next { right: -14px; }
body.compact .carousel-dots { gap: 6px; margin-top: 8px; }
body.compact .carousel-dot { width: 7px; height: 7px; }

/* Education */
body.compact .education-grid { gap: 2rem; max-width: 64rem; }
body.compact .diploma { padding: 1.25rem; }
body.compact .diploma-border { padding: 1.25rem; }
body.compact .diploma-seal { width: 4.5rem; height: 4.5rem; margin-bottom: 1rem; }
body.compact .diploma-container [style*="padding: 2rem 0"] { padding: 1rem 0 !important; } /* tighten inline styles */

/* Campus Involvement */
body.compact .campus-grid { gap: 1.5rem; }                           /* was 3rem */
body.compact .campus-card { padding: 1.25rem; }
body.compact .campus-sticker { font-size: 1.5rem; padding: 0.5rem 0.75rem; }

/* Projects */
body.compact .projects-grid { gap: 2rem; }                           /* was 4rem */
body.compact .project-card { padding: 1.25rem; }

/* Portfolio */
body.compact .portfolio-books .books-container { min-height: 420px; gap: 1rem; } /* was 500px / 1.5rem */
body.compact .book-inner { border-width: 3px; }
body.compact .book-content { padding: 1.25rem; }
body.compact .book-download { padding: 0.375rem 0.75rem; font-size: 0.7rem; border-width: 2px; }

body.compact .portfolio-books .books-container { min-height: 380px; gap: 0.75rem; }
body.compact .book-inner { border-width: 3px; }
body.compact .book-content { padding: 1rem; }
body.compact .book h4 { font-size: 1rem !important; line-height: 1.2; }

/* Interests */
body.compact .interests-grid { gap: 1rem; }                          /* was 2rem */
body.compact .interest-card { padding: 1.25rem; }
body.compact .interest-icon { width: 3.25rem; height: 3.25rem; border-width: 3px; margin-bottom: 1rem; }
body.compact .interest-photo { margin: 1rem 0; }

/* Star border strip */
body.compact .star-border-container { height: 32px; }                /* was 40px */
body.compact .star-border-top,
body.compact .star-border-bottom { height: 16px; }

/* Footer spacing at end of Interests section */
body.compact #interests { padding-bottom: 3.5rem; }                  /* was 5rem */

/* Mobile tweaks (inherit existing breakpoints but compact them further) */
@media (max-width: 768px) {
  body.compact .hero-section h2 { font-size: 3rem; }                 /* was 4rem default */
  body.compact nav .nav-links { gap: 0.5rem; }
  body.compact .timeline-item { margin-bottom: 1.25rem; }
  body.compact .timeline-dot { width: 24px; height: 24px; }
  body.compact .carousel-nav { width: 28px; height: 28px; }
  body.compact .section-title { font-size: 3rem; }
}

.about-grid {
    display: flex;            /* switch from grid */
    align-items: flex-start;  /* align columns at the top */
    gap: 4rem;                /* spacing between text and image */
}


