/* Screen styles - hide print-only elements on screen */
.print-only {
  display: none !important;
}

@media print {
  @page {
    size: letter;
    margin: 0.5in 0.75in;
  }

  /* Print utility classes */
  .no-print {
    display: none !important;
  }

  .print-only {
    display: block !important;
  }

  .print-btn {
    display: none !important;
  }

  /* =====================================================
     DEDICATED PRINT LAYOUT - Hide screen content
     Homepage sections are hidden in print; PrintableProfile replaces them
     ===================================================== */

  /* Hide homepage screen sections - PrintableProfile component replaces these */
  .hero,
  .about,
  .thought-leadership,
  .featured-projects,
  .cta-banner {
    display: none !important;
  }

  /* Header and footer hidden site-wide in print */
  .header,
  .footer {
    display: none !important;
  }

  /* =====================================================
     PRINTABLE PROFILE STYLES
     ===================================================== */

  .printable-profile {
    display: block !important;
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    color: #1a1a1a;
    line-height: 1.5;
    max-width: 100%;
  }

  .printable-profile .print-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 3pt solid #f97316;
    padding-bottom: 8pt;
    margin-bottom: 16pt;
  }

  .printable-profile .brand {
    font-size: 14pt;
    font-weight: 700;
    color: #f97316 !important;
  }

  .printable-profile .profile-section {
    text-align: center;
    margin-bottom: 20pt;
    padding-bottom: 16pt;
    border-bottom: 1pt solid #e4e4e7;
  }

  .printable-profile .profile-name {
    font-size: 28pt;
    font-weight: 700;
    color: #18181b !important;
    margin: 0 0 6pt 0;
    line-height: 1.2;
  }

  .printable-profile .profile-title {
    font-size: 14pt;
    font-weight: 600;
    color: #f97316 !important;
    margin: 0 0 4pt 0;
  }

  .printable-profile .profile-org {
    font-size: 11pt;
    color: #52525b !important;
    margin: 0;
  }

  .printable-profile h2 {
    font-size: 14pt;
    font-weight: 700;
    color: #f97316 !important;
    margin: 16pt 0 10pt 0;
    padding-bottom: 4pt;
    border-bottom: 1pt solid #e4e4e7;
  }

  .printable-profile .summary-section p {
    font-size: 10pt;
    line-height: 1.6;
    color: #27272a !important;
    margin: 0 0 8pt 0;
    text-align: justify;
  }

  .printable-profile .expertise-list {
    display: block;
  }

  .printable-profile .expertise-item {
    margin-bottom: 10pt;
    padding-left: 10pt;
    border-left: 2pt solid #f97316;
  }

  .printable-profile .expertise-item h3 {
    font-size: 11pt;
    font-weight: 700;
    color: #18181b !important;
    margin: 0 0 2pt 0;
  }

  .printable-profile .expertise-item p {
    font-size: 9pt;
    color: #52525b !important;
    margin: 0;
    line-height: 1.5;
  }

  .printable-profile .timeline-list {
    display: block;
  }

  .printable-profile .timeline-item {
    display: block;
    margin-bottom: 10pt;
    padding-left: 10pt;
    border-left: 2pt solid #f97316;
  }

  .printable-profile .timeline-period {
    font-size: 9pt;
    font-weight: 700;
    color: #f97316 !important;
    display: block;
    margin-bottom: 2pt;
  }

  .printable-profile .timeline-title {
    font-size: 11pt;
    font-weight: 700;
    color: #18181b !important;
    display: block;
    margin-bottom: 2pt;
  }

  .printable-profile .timeline-desc {
    font-size: 9pt;
    color: #52525b !important;
    margin: 0;
    line-height: 1.4;
  }

  .printable-profile .education-section {
    page-break-inside: avoid;
  }

  .printable-profile .education-item {
    margin-bottom: 8pt;
  }

  .printable-profile .education-item strong {
    font-size: 11pt;
    color: #18181b !important;
    display: block;
  }

  .printable-profile .education-item p {
    font-size: 9pt;
    color: #52525b !important;
    margin: 2pt 0 0 0;
  }

  .printable-profile .awards-list {
    display: block;
  }

  .printable-profile .award-item {
    margin-bottom: 6pt;
  }

  .printable-profile .award-item strong {
    font-size: 10pt;
    color: #18181b !important;
    display: block;
  }

  .printable-profile .award-meta {
    font-size: 9pt;
    color: #52525b !important;
  }

  .printable-profile .print-footer {
    margin-top: 20pt;
    padding-top: 10pt;
    border-top: 1pt solid #e4e4e7;
    display: flex;
    justify-content: space-between;
    font-size: 8pt;
    color: #71717a !important;
  }

  .printable-profile .print-url,
  .printable-profile .print-date {
    margin: 0;
  }

  /* =====================================================
     WHO IS GAVIN ROZZI PAGE - Bio page print layout
     ===================================================== */

  /* Main content area */
  .bio-content {
    padding: 0 !important;
    background: white !important;
  }

  /* Convert 2-column grid to single column */
  .bio-grid {
    display: block !important;
  }

  /* Bio main content */
  .bio-main {
    margin-bottom: 16pt;
  }

  /* Section titles - hide gradient underline */
  .bio-content .section-title::after {
    display: none !important;
  }

  /* Bio text - reset strong color to standard */
  .bio-text strong {
    color: #18181b !important;
  }

  /* Timeline - simplify to match PrintableProfile style */
  .bio-content .timeline {
    padding-left: 0 !important;
    margin-top: 12pt !important;
  }

  .bio-content .timeline::before {
    display: none !important;
  }

  .bio-content .timeline-item {
    position: static !important;
    padding-left: 12pt !important;
    padding-bottom: 10pt !important;
    border-left: 2pt solid #f97316 !important;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .bio-content .timeline-marker {
    display: none !important;
  }

  .bio-content .timeline-date {
    font-size: 9pt !important;
    color: #f97316 !important;
    font-weight: 700 !important;
    display: block !important;
  }

  .bio-content .timeline-content h3 {
    font-size: 11pt !important;
    margin-bottom: 2pt !important;
  }

  .bio-content .timeline-content p {
    font-size: 10pt !important;
    color: #52525b !important;
  }

  /* Sidebar - display as block, appears after main content */
  .bio-sidebar {
    display: block !important;
    margin-top: 16pt;
    padding-top: 16pt;
    border-top: 1pt solid #d4d4d8;
  }

  /* Headshot - simple centered display */
  .sidebar-headshot {
    display: block !important;
    text-align: center;
    margin-bottom: 12pt;
  }

  .headshot-frame {
    width: 120pt !important;
    height: 120pt !important;
    padding: 2pt !important;
    background: none !important;
    border: 2pt solid #f97316 !important;
    box-shadow: none !important;
    display: inline-block;
  }

  .bio-sidebar .headshot {
    border: none !important;
  }

  /* Quick facts card */
  .quick-facts,
  .connect-card {
    background: white !important;
    border: 1pt solid #d4d4d8 !important;
    border-radius: 0 !important;
    padding: 12pt !important;
    margin-bottom: 12pt;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .sidebar-title {
    font-size: 12pt !important;
    color: #18181b !important;
    margin-bottom: 8pt !important;
  }

  .facts-list {
    display: block !important;
  }

  .facts-list dt {
    font-size: 10pt !important;
    color: #f97316 !important;
    margin-bottom: 2pt !important;
  }

  .facts-list dd {
    font-size: 10pt !important;
    color: #52525b !important;
    border-bottom: none !important;
    padding-bottom: 8pt !important;
  }

  /* Connect links - simple list display */
  .connect-links {
    display: block !important;
  }

  .connect-link {
    display: inline-block !important;
    background: white !important;
    border: 1pt solid #d4d4d8 !important;
    border-radius: 0 !important;
    padding: 4pt 8pt !important;
    margin-right: 6pt !important;
    margin-bottom: 6pt !important;
    font-size: 10pt !important;
    color: #f97316 !important;
    transform: none !important;
  }

  .connect-link svg {
    display: none !important;
  }

  /* Explore section */
  .explore-section {
    margin-top: 16pt;
    padding-top: 16pt;
    border-top: 1pt solid #d4d4d8 !important;
  }

  /* Convert 4-column grid to single column */
  .explore-grid {
    display: block !important;
  }

  .explore-card {
    display: block !important;
    background: white !important;
    border: 1pt solid #d4d4d8 !important;
    border-radius: 0 !important;
    padding: 10pt !important;
    margin-bottom: 8pt !important;
    text-align: left !important;
    transform: none !important;
    box-shadow: none !important;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .explore-icon {
    display: none !important;
  }

  .explore-card h3 {
    font-size: 11pt !important;
    color: #18181b !important;
    margin-bottom: 2pt !important;
    display: inline !important;
  }

  .explore-card h3::after {
    content: " — ";
    color: #71717a !important;
  }

  .explore-card p {
    font-size: 10pt !important;
    color: #52525b !important;
    display: inline !important;
    margin: 0 !important;
  }

  /* =====================================================
     CONTACT PAGE - Contact form and info layout
     ===================================================== */

  .contact-section {
    padding: 0 !important;
  }

  .contact-grid {
    display: block !important;
  }

  .contact-form-wrapper {
    background: white !important;
    border: 1pt solid #d4d4d8 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 12pt !important;
    margin-bottom: 16pt;
  }

  .form-title {
    font-size: 14pt !important;
    margin-bottom: 10pt !important;
  }

  .contact-form {
    display: block !important;
  }

  .form-group {
    margin-bottom: 8pt !important;
  }

  .form-label {
    font-size: 10pt !important;
    font-weight: bold !important;
    display: block !important;
    margin-bottom: 2pt !important;
  }

  .form-input {
    border: 1pt solid #d4d4d8 !important;
    border-radius: 0 !important;
    padding: 4pt !important;
    width: 100% !important;
    font-size: 10pt !important;
  }

  .form-disclaimer {
    font-size: 9pt !important;
    background: #f4f4f5 !important;
    border-left: 2pt solid #f97316 !important;
    padding: 8pt !important;
    margin: 8pt 0 !important;
  }

  .checkbox-group {
    margin: 8pt 0 !important;
  }

  .checkbox-text {
    font-size: 10pt !important;
  }

  .submit-btn {
    background: #f97316 !important;
    color: white !important;
    border: none !important;
    padding: 8pt 16pt !important;
    font-size: 10pt !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  .contact-info {
    display: block !important;
  }

  .info-title {
    font-size: 14pt !important;
    margin-bottom: 10pt !important;
  }

  .info-item {
    background: white !important;
    border: 1pt solid #d4d4d8 !important;
    border-radius: 0 !important;
    padding: 8pt !important;
    margin-bottom: 8pt !important;
    display: flex !important;
    gap: 8pt !important;
  }

  .info-icon {
    font-size: 16pt !important;
  }

  .info-label {
    font-size: 10pt !important;
    font-weight: bold !important;
  }

  .info-link,
  .info-text {
    font-size: 10pt !important;
  }

  .social-section {
    background: white !important;
    border: 1pt solid #d4d4d8 !important;
    border-radius: 0 !important;
    padding: 12pt !important;
  }

  .social-title {
    font-size: 12pt !important;
    margin-bottom: 8pt !important;
  }

  .linkedin-featured {
    background: #0a66c2 !important;
    border-radius: 0 !important;
    padding: 8pt !important;
    margin-bottom: 8pt !important;
    box-shadow: none !important;
  }

  .linkedin-featured-icon,
  .linkedin-arrow {
    display: none !important;
  }

  .linkedin-featured-title {
    font-size: 10pt !important;
  }

  .linkedin-featured-subtitle {
    font-size: 9pt !important;
  }

  .social-links {
    display: block !important;
  }

  .social-btn {
    display: inline-block !important;
    background: white !important;
    border: 1pt solid #d4d4d8 !important;
    border-radius: 0 !important;
    padding: 4pt 8pt !important;
    margin-right: 4pt !important;
    margin-bottom: 4pt !important;
    font-size: 10pt !important;
    color: #f97316 !important;
  }

  .social-btn .social-icon {
    display: none !important;
  }

  /* =====================================================
     ABOUT PAGE - Hero section with gradients
     ===================================================== */

  .about-hero {
    position: static !important;
    padding: 12pt 0 !important;
    text-align: center !important;
    overflow: visible !important;
  }

  .about-hero::before,
  .about-hero::after {
    display: none !important;
  }

  /* =====================================================
     SPEAKING PAGE - Topics and videos layout
     ===================================================== */

  .speaking-hero {
    position: static !important;
    padding: 12pt 0 !important;
    text-align: center !important;
    overflow: visible !important;
  }

  .speaking-hero::before,
  .speaking-hero::after {
    display: none !important;
  }

  .speaker-intro {
    padding: 12pt 0 !important;
  }

  .intro-grid {
    display: block !important;
    text-align: left !important;
  }

  .speaker-photo {
    text-align: center !important;
    margin-bottom: 12pt !important;
  }

  .speaker-headshot {
    width: 100pt !important;
    height: 100pt !important;
    border-radius: 50% !important;
    border: 2pt solid #f97316 !important;
    box-shadow: none !important;
  }

  .download-link {
    display: none !important;
  }

  .speaker-bio p {
    font-size: 10pt !important;
    margin-bottom: 8pt !important;
  }

  .topics-section {
    padding: 12pt 0 !important;
    background: white !important;
  }

  .topics-grid {
    display: block !important;
  }

  .topic-card {
    background: white !important;
    border: 1pt solid #d4d4d8 !important;
    border-radius: 0 !important;
    padding: 10pt !important;
    margin-bottom: 10pt !important;
    box-shadow: none !important;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .topic-title {
    font-size: 12pt !important;
    margin-bottom: 4pt !important;
  }

  .topic-description {
    font-size: 10pt !important;
    margin-bottom: 6pt !important;
  }

  .topic-examples {
    border-top: 1pt solid #e4e4e7 !important;
    padding-top: 6pt !important;
  }

  .examples-label {
    font-size: 9pt !important;
  }

  .topic-examples ul {
    margin: 0 !important;
    padding-left: 16pt !important;
  }

  .topic-examples li {
    font-size: 9pt !important;
  }

  .videos-section {
    padding: 12pt 0 !important;
  }

  .videos-grid {
    display: block !important;
  }

  .video-card {
    background: white !important;
    border: 1pt solid #d4d4d8 !important;
    border-radius: 0 !important;
    margin-bottom: 10pt !important;
    box-shadow: none !important;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .video-embed {
    display: none !important;
  }

  .video-info {
    padding: 10pt !important;
  }

  .video-title {
    font-size: 11pt !important;
  }

  .video-meta {
    font-size: 10pt !important;
  }

  .video-link {
    font-size: 10pt !important;
  }

  .more-talks {
    text-align: left !important;
  }

  .more-link {
    font-size: 10pt !important;
  }

  .cta-section {
    padding: 12pt 0 !important;
    background: white !important;
  }

  .cta-card {
    background: white !important;
    border: 1pt solid #d4d4d8 !important;
    border-radius: 0 !important;
    padding: 12pt !important;
    box-shadow: none !important;
    text-align: left !important;
  }

  .cta-title {
    font-size: 14pt !important;
  }

  .cta-description {
    font-size: 10pt !important;
  }

  .cta-button {
    background: #f97316 !important;
    color: white !important;
    border-radius: 0 !important;
    padding: 8pt 16pt !important;
    font-size: 10pt !important;
    box-shadow: none !important;
    display: inline-block !important;
  }

  /* =====================================================
     OPRAMACHINE PAGE - Project showcase layout
     ===================================================== */

  .opramachine-content {
    padding: 0 !important;
    background: white !important;
  }

  .opramachine-content .content-grid {
    display: block !important;
  }

  .opramachine-content .section-title::after {
    display: none !important;
  }

  .about-text p {
    font-size: 10pt !important;
    margin-bottom: 8pt !important;
  }

  .about-text strong {
    color: #18181b !important;
  }

  .steps-grid {
    display: block !important;
  }

  .step-card {
    background: white !important;
    border: 1pt solid #d4d4d8 !important;
    border-radius: 0 !important;
    padding: 10pt !important;
    margin-bottom: 8pt !important;
    position: static !important;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .step-number {
    position: static !important;
    display: inline-block !important;
    width: auto !important;
    height: auto !important;
    background: #f97316 !important;
    color: white !important;
    padding: 2pt 6pt !important;
    border-radius: 0 !important;
    font-size: 9pt !important;
    margin-bottom: 4pt !important;
  }

  .step-card h3 {
    font-size: 11pt !important;
    padding-right: 0 !important;
  }

  .step-card p {
    font-size: 10pt !important;
  }

  .opramachine-content .cta-section {
    display: none !important;
  }

  .media-section,
  .posts-section {
    margin-bottom: 12pt !important;
  }

  .media-grid {
    display: block !important;
  }

  .media-card {
    background: white !important;
    border: 1pt solid #d4d4d8 !important;
    border-radius: 0 !important;
    padding: 8pt !important;
    margin-bottom: 6pt !important;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .media-type {
    font-size: 8pt !important;
    color: #f97316 !important;
  }

  .media-card h3 {
    font-size: 10pt !important;
  }

  .media-venue,
  .media-date {
    font-size: 9pt !important;
  }

  .posts-grid {
    display: block !important;
  }

  .post-card {
    background: white !important;
    border: 1pt solid #d4d4d8 !important;
    border-radius: 0 !important;
    padding: 8pt !important;
    margin-bottom: 6pt !important;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .post-card h3 {
    font-size: 10pt !important;
  }

  .post-card p {
    font-size: 9pt !important;
  }

  .post-date {
    font-size: 8pt !important;
  }

  .view-all-link {
    font-size: 10pt !important;
  }

  /* Sidebar for OPRAmachine and zipcodeR */
  .opramachine-content .sidebar,
  .zipcoder-content .sidebar {
    display: block !important;
    margin-top: 16pt;
    padding-top: 16pt;
    border-top: 1pt solid #d4d4d8;
  }

  .info-card,
  .links-card,
  .related-card,
  .use-cases-card {
    background: white !important;
    border: 1pt solid #d4d4d8 !important;
    border-radius: 0 !important;
    padding: 10pt !important;
    margin-bottom: 10pt !important;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .info-list {
    display: block !important;
  }

  .info-list dt {
    font-size: 9pt !important;
    color: #f97316 !important;
    margin-bottom: 2pt !important;
  }

  .info-list dd {
    font-size: 9pt !important;
    border-bottom: none !important;
    padding-bottom: 6pt !important;
    margin-bottom: 6pt !important;
  }

  .link-list {
    display: block !important;
  }

  .sidebar-link {
    display: inline-block !important;
    background: white !important;
    border: 1pt solid #d4d4d8 !important;
    border-radius: 0 !important;
    padding: 4pt 8pt !important;
    margin-right: 4pt !important;
    margin-bottom: 4pt !important;
    font-size: 9pt !important;
    color: #f97316 !important;
  }

  .sidebar-link svg {
    display: none !important;
  }

  .use-cases-list {
    padding: 0 !important;
    margin: 0 !important;
  }

  .use-cases-list li {
    font-size: 9pt !important;
    border-bottom: none !important;
    padding: 2pt 0 !important;
  }

  /* =====================================================
     ZIPCODER PAGE - R package showcase layout
     ===================================================== */

  .zipcoder-content {
    padding: 0 !important;
    background: white !important;
  }

  .zipcoder-content .content-grid {
    display: block !important;
  }

  .zipcoder-content .section-title::after {
    display: none !important;
  }

  /* Code blocks - light theme for print */
  .code-block {
    background: #f4f4f5 !important;
    border: 1pt solid #d4d4d8 !important;
    border-radius: 0 !important;
    margin-bottom: 12pt !important;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .code-header {
    background: #e4e4e7 !important;
    padding: 4pt 8pt !important;
    font-size: 9pt !important;
    color: #52525b !important;
  }

  .code-block pre {
    padding: 8pt !important;
    margin: 0 !important;
  }

  .code-block code {
    font-size: 9pt !important;
    color: #18181b !important;
    line-height: 1.4 !important;
  }

  .features-grid {
    display: block !important;
  }

  .feature-card {
    background: white !important;
    border: 1pt solid #d4d4d8 !important;
    border-radius: 0 !important;
    padding: 10pt !important;
    margin-bottom: 8pt !important;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .feature-icon {
    display: none !important;
  }

  .feature-card h3 {
    font-size: 11pt !important;
    margin-bottom: 4pt !important;
  }

  .feature-card p {
    font-size: 10pt !important;
  }

  .zipcoder-content .cta-section {
    display: none !important;
  }

  .publications-section {
    margin-bottom: 12pt !important;
  }

  .publications-list {
    display: block !important;
  }

  .publication-card {
    background: white !important;
    border: 1pt solid #d4d4d8 !important;
    border-radius: 0 !important;
    padding: 8pt !important;
    margin-bottom: 6pt !important;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .pub-type {
    font-size: 8pt !important;
    color: #f97316 !important;
  }

  .publication-card h3 {
    font-size: 10pt !important;
  }

  .pub-venue,
  .pub-date {
    font-size: 9pt !important;
  }

  /* =====================================================
     404 PAGE - Error page layout
     ===================================================== */

  .error-page {
    position: static !important;
    min-height: auto !important;
    padding: 16pt 0 !important;
  }

  .contour-background {
    display: none !important;
  }

  .error-content {
    text-align: left !important;
  }

  .error-title {
    margin-bottom: 12pt !important;
  }

  .error-code {
    font-size: 48pt !important;
    background: none !important;
    -webkit-background-clip: unset !important;
    -webkit-text-fill-color: #f97316 !important;
    background-clip: unset !important;
    color: #f97316 !important;
  }

  .error-message {
    font-size: 18pt !important;
  }

  .error-description {
    font-size: 11pt !important;
    margin-bottom: 16pt !important;
  }

  .error-navigation {
    margin-bottom: 16pt !important;
  }

  .nav-title {
    font-size: 14pt !important;
    margin-bottom: 10pt !important;
  }

  .nav-links {
    display: block !important;
  }

  .nav-link {
    display: block !important;
    background: white !important;
    border: 1pt solid #d4d4d8 !important;
    border-radius: 0 !important;
    padding: 8pt !important;
    margin-bottom: 6pt !important;
  }

  .nav-icon {
    font-size: 14pt !important;
  }

  .nav-text strong {
    font-size: 11pt !important;
  }

  .nav-desc {
    font-size: 9pt !important;
  }

  .error-help {
    font-size: 10pt !important;
    border-top: 1pt solid #d4d4d8 !important;
    padding-top: 10pt !important;
  }

  /* =====================================================
     PRINTABLE PAGE STYLES (for detail pages)
     ===================================================== */

  .printable-page {
    display: block !important;
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    color: #1a1a1a;
    line-height: 1.5;
    max-width: 100%;
  }

  .printable-page .print-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 3pt solid #f97316;
    padding-bottom: 8pt;
    margin-bottom: 16pt;
  }

  .printable-page .brand {
    font-size: 14pt;
    font-weight: 700;
    color: #f97316 !important;
  }

  .printable-page .type-badge {
    font-size: 9pt;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5pt;
    color: #f97316 !important;
    background: rgba(249, 115, 22, 0.1) !important;
    padding: 3pt 8pt;
  }

  .printable-page .print-title-section {
    margin-bottom: 16pt;
    padding-bottom: 12pt;
    border-bottom: 1pt solid #e4e4e7;
  }

  .printable-page .print-page-title {
    font-size: 22pt;
    font-weight: 700;
    color: #18181b !important;
    margin: 0 0 6pt 0;
    line-height: 1.2;
  }

  .printable-page .print-page-subtitle {
    font-size: 12pt;
    color: #52525b !important;
    margin: 0 0 8pt 0;
  }

  .printable-page .print-meta {
    font-size: 10pt;
    color: #71717a !important;
  }

  .printable-page .print-author {
    font-weight: 600;
    color: #27272a !important;
  }

  .printable-page .print-author::after {
    content: ' • ';
    color: #d4d4d8 !important;
  }

  .printable-page .print-content {
    font-size: 10pt;
    line-height: 1.6;
    color: #27272a !important;
  }

  .printable-page .print-content h2 {
    font-size: 14pt;
    font-weight: 700;
    color: #18181b !important;
    margin: 16pt 0 8pt 0;
    page-break-after: avoid;
  }

  .printable-page .print-content h3 {
    font-size: 12pt;
    font-weight: 700;
    color: #18181b !important;
    margin: 12pt 0 6pt 0;
    page-break-after: avoid;
  }

  .printable-page .print-content p {
    margin: 0 0 8pt 0;
    text-align: justify;
  }

  .printable-page .print-content ul,
  .printable-page .print-content ol {
    margin: 0 0 8pt 0;
    padding-left: 16pt;
  }

  .printable-page .print-content li {
    margin-bottom: 4pt;
  }

  .printable-page .print-content blockquote {
    border-left: 2pt solid #f97316 !important;
    padding-left: 10pt;
    margin: 10pt 0;
    font-style: italic;
    color: #52525b !important;
  }

  .printable-page .print-content pre,
  .printable-page .print-content code {
    font-family: 'Fira Mono', 'Monaco', monospace;
    font-size: 9pt;
    background: #f4f4f5 !important;
  }

  .printable-page .print-content pre {
    padding: 8pt;
    overflow-x: auto;
    white-space: pre-wrap;
    word-wrap: break-word;
    page-break-inside: avoid;
  }

  .printable-page .print-footer {
    margin-top: 20pt;
    padding-top: 10pt;
    border-top: 1pt solid #e4e4e7;
    display: flex;
    justify-content: space-between;
    font-size: 8pt;
    color: #71717a !important;
  }

  .printable-page .print-url,
  .printable-page .print-timestamp {
    margin: 0;
  }

  /* =====================================================
     LEGACY PRINT STYLES (for pages without dedicated layout)
     ===================================================== */

  *,
  *::before,
  *::after {
    background: transparent !important;
    color: #1a1a1a !important;
    box-shadow: none !important;
    text-shadow: none !important;
    transition: none !important;
    animation: none !important;
  }

  html {
    font-size: 12pt;
  }

  body {
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    line-height: 1.5;
    orphans: 3;
    widows: 3;
    background: white !important;
    overflow: visible !important;
  }

  body::before {
    content: "gavinrozzi.com";
    display: block;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 10pt;
    font-weight: 700;
    color: #f97316 !important;
    text-align: right;
    margin-bottom: 0.25in;
    padding-bottom: 8pt;
    border-bottom: 2px solid #f97316;
  }

  body::after {
    content: "Page URL: " attr(data-print-url);
    display: block;
    font-size: 9pt;
    color: #71717a !important;
    text-align: center;
    margin-top: 0.5in;
    padding-top: 8pt;
    border-top: 1px solid #d4d4d8;
  }

  h1, h2, h3, h4, h5, h6 {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 700;
    color: #18181b !important;
    page-break-after: avoid;
    break-after: avoid;
    orphans: 3;
    widows: 3;
    letter-spacing: normal;
  }

  h1 {
    font-size: 24pt;
    line-height: 1.2;
    margin-bottom: 12pt;
  }

  h2 {
    font-size: 18pt;
    line-height: 1.2;
    margin-top: 18pt;
    margin-bottom: 10pt;
  }

  h3 {
    font-size: 14pt;
    line-height: 1.3;
    margin-top: 14pt;
    margin-bottom: 8pt;
  }

  h4, h5, h6 {
    font-size: 12pt;
    margin-top: 12pt;
    margin-bottom: 6pt;
  }

  p {
    font-size: 11pt;
    line-height: 1.6;
    margin-bottom: 10pt;
    color: #27272a !important;
  }

  a {
    color: #f97316 !important;
    text-decoration: underline;
    word-break: break-all;
  }

  a[href^="http"]::after,
  a[href^="https"]::after {
    content: " (" attr(href) ")";
    font-size: 9pt;
    color: #71717a !important;
    font-weight: normal;
  }

  a[href^="#"]::after,
  a[href^="javascript"]::after,
  .nav-link::after,
  .nav-menu a::after,
  .footer-nav a::after,
  .social-link::after,
  .share-btn::after,
  .btn::after,
  .back-link::after,
  .bio-link::after,
  .project-link::after {
    content: none !important;
  }

  ul, ol {
    margin-bottom: 10pt;
    padding-left: 20pt;
  }

  li {
    font-size: 11pt;
    line-height: 1.6;
    margin-bottom: 4pt;
  }

  blockquote {
    border-left: 3pt solid #f97316 !important;
    padding-left: 12pt;
    margin: 12pt 0;
    font-style: italic;
    color: #52525b !important;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  pre, code {
    font-family: 'Fira Mono', 'Monaco', 'Courier New', monospace;
    font-size: 9pt;
  }

  pre {
    background: #f4f4f5 !important;
    border: 1pt solid #d4d4d8 !important;
    padding: 10pt;
    white-space: pre-wrap;
    word-wrap: break-word;
    page-break-inside: avoid;
    break-inside: avoid;
    margin-bottom: 12pt;
    border-radius: 0 !important;
  }

  code {
    background: #f4f4f5 !important;
    padding: 1pt 3pt;
    border-radius: 0 !important;
  }

  pre code {
    background: transparent !important;
    padding: 0;
  }

  img {
    max-width: 100% !important;
    height: auto !important;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .container {
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .header {
    position: static !important;
    background: white !important;
    box-shadow: none !important;
    border-bottom: 1pt solid #d4d4d8 !important;
    padding: 8pt 0 !important;
    margin-bottom: 16pt;
  }

  .nav {
    display: block !important;
    padding: 0 !important;
  }

  .nav-brand {
    display: block !important;
  }

  .brand-name {
    font-size: 16pt !important;
    font-weight: 700 !important;
    color: #f97316 !important;
    -webkit-text-fill-color: #f97316 !important;
    background: none !important;
  }

  .nav-menu,
  .mobile-toggle,
  .theme-toggle {
    display: none !important;
  }

  .footer {
    background: white !important;
    color: #27272a !important;
    border-top: 1pt solid #d4d4d8 !important;
    padding: 16pt 0 !important;
    margin-top: 24pt;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .footer-grid {
    display: block !important;
  }

  .footer-monogram,
  .monogram-badge,
  .social-links,
  .footer-links,
  .footer-contact {
    display: none !important;
  }

  .footer-about {
    display: block !important;
  }

  .footer-title {
    font-size: 14pt !important;
    color: #18181b !important;
    margin-bottom: 6pt;
    text-align: left !important;
    -webkit-text-fill-color: #18181b !important;
    background: none !important;
  }

  .footer-description {
    font-size: 10pt !important;
    color: #52525b !important;
    text-align: left !important;
    margin-bottom: 8pt;
  }

  .footer-bottom {
    border-top: none !important;
    padding-top: 8pt !important;
    text-align: left !important;
  }

  .copyright,
  .disclaimer {
    font-size: 9pt !important;
    color: #71717a !important;
    text-align: left !important;
  }

  .license-link {
    color: #f97316 !important;
  }

  .hero {
    min-height: auto !important;
    padding: 16pt 0 !important;
  }

  .contour-canvas-wrapper,
  #contour-canvas,
  .hero-background {
    display: none !important;
  }

  .hero-content {
    position: static !important;
  }

  .hero-main {
    display: block !important;
    width: 100% !important;
  }

  .hero-image {
    text-align: center;
    margin-bottom: 16pt;
  }

  .headshot-frame {
    width: 120pt !important;
    height: 120pt !important;
    padding: 2pt !important;
    background: #f97316 !important;
    border-radius: 50% !important;
    margin: 0 auto;
  }

  .headshot {
    width: 100% !important;
    height: 100% !important;
    border-radius: 50% !important;
    border: 2pt solid white !important;
  }

  .headshot-caption {
    font-size: 16pt !important;
    font-weight: 700 !important;
    color: #f97316 !important;
    -webkit-text-fill-color: #f97316 !important;
    background: none !important;
    margin-top: 8pt;
  }

  .headshot-title {
    font-size: 10pt !important;
    color: #52525b !important;
  }

  .hero-text {
    max-width: 100% !important;
  }

  .hero-title {
    font-size: 20pt !important;
    line-height: 1.2 !important;
    margin-bottom: 10pt !important;
  }

  .hero-subtitle {
    font-size: 12pt !important;
    color: #52525b !important;
    margin-bottom: 10pt !important;
  }

  .hero-description {
    font-size: 11pt !important;
    line-height: 1.6 !important;
    color: #27272a !important;
  }

  .hero-actions,
  .btn,
  .btn-primary,
  .btn-secondary {
    display: none !important;
  }

  .gradient-text,
  .gradient-primary,
  .gradient-secondary {
    background: none !important;
    -webkit-background-clip: unset !important;
    -webkit-text-fill-color: #f97316 !important;
    background-clip: unset !important;
    color: #f97316 !important;
  }

  .hero-expertise {
    display: block !important;
    width: 100% !important;
    margin-top: 16pt;
  }

  .expertise-left,
  .expertise-right {
    width: 100% !important;
    margin-bottom: 16pt;
  }

  .expertise-headline {
    font-size: 14pt !important;
    margin-bottom: 8pt;
  }

  .expertise-vision {
    font-size: 10pt !important;
    margin-bottom: 12pt;
  }

  .framework-label {
    font-size: 10pt !important;
    color: #f97316 !important;
    margin: 10pt 0 !important;
  }

  .impact-diagram {
    display: block !important;
    width: 100% !important;
    background: white !important;
    border: 1pt solid #d4d4d8 !important;
    padding: 12pt !important;
    border-radius: 0 !important;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .impact-stage {
    display: block !important;
    width: 100% !important;
    margin-bottom: 12pt;
    text-align: left !important;
    padding-left: 24pt;
    position: relative;
  }

  .impact-stage::before {
    content: counter(stage-counter) ".";
    counter-increment: stage-counter;
    position: absolute;
    left: 0;
    font-weight: 700;
    color: #f97316 !important;
  }

  .impact-diagram {
    counter-reset: stage-counter;
  }

  .stage-connector {
    display: none !important;
  }

  .stage-icon {
    display: none !important;
  }

  .stage-title {
    font-size: 11pt !important;
    font-weight: 700 !important;
    margin-bottom: 4pt;
  }

  .stage-description {
    font-size: 10pt !important;
    color: #52525b !important;
  }

  .why-work-section {
    background: #f4f4f5 !important;
    border: 1pt solid #d4d4d8 !important;
    padding: 12pt !important;
    border-radius: 0 !important;
    margin-bottom: 12pt;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .why-work-title {
    font-size: 12pt !important;
    margin-bottom: 6pt;
  }

  .why-work-text {
    font-size: 10pt !important;
    color: #52525b !important;
  }

  .career-timeline {
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .timeline-item {
    display: block !important;
    margin-bottom: 10pt;
    padding-left: 12pt;
    border-left: 2pt solid #f97316 !important;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .timeline-item::after {
    display: none !important;
  }

  .timeline-marker {
    display: none !important;
  }

  .timeline-year {
    font-size: 9pt !important;
    color: #f97316 !important;
    font-weight: 700 !important;
  }

  .timeline-title {
    font-size: 11pt !important;
    font-weight: 700 !important;
  }

  .timeline-desc {
    font-size: 10pt !important;
    color: #52525b !important;
  }

  /* =====================================================
     PAGE HERO PRINT STYLES
     ===================================================== */

  .page-hero {
    padding: 16pt 0 !important;
    background: white !important;
    text-align: center;
  }

  .page-hero::before,
  .page-hero::after {
    display: none !important;
  }

  .page-title {
    font-size: 20pt !important;
    margin-bottom: 8pt !important;
  }

  .page-title .gradient-name {
    color: #18181b !important;
    -webkit-text-fill-color: #18181b !important;
    background: none !important;
  }

  .page-subtitle {
    font-size: 11pt !important;
    color: #52525b !important;
    max-width: 100% !important;
    margin-bottom: 12pt !important;
  }

  .page-stats {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 8pt !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 12pt !important;
  }

  .stat-item {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: auto !important;
    min-width: 80pt !important;
    padding: 8pt !important;
    background: #f4f4f5 !important;
    border: 1pt solid #d4d4d8 !important;
    border-radius: 0 !important;
  }

  .stat-value {
    font-size: 16pt !important;
    font-weight: 700 !important;
    color: #f97316 !important;
  }

  .stat-label {
    font-size: 9pt !important;
    color: #52525b !important;
  }

  .blog-post,
  .portfolio-detail {
    padding-top: 0 !important;
  }

  .post-header,
  .portfolio-header {
    padding: 12pt 0 !important;
    background: white !important;
    border-bottom: none !important;
  }

  .category-badge,
  .category {
    display: inline-block !important;
    background: #f97316 !important;
    color: white !important;
    padding: 2pt 8pt !important;
    font-size: 9pt !important;
    border-radius: 0 !important;
  }

  .post-title,
  .portfolio-title {
    font-size: 22pt !important;
    margin-bottom: 10pt !important;
  }

  .post-meta {
    margin-bottom: 10pt;
  }

  .author-info {
    display: flex !important;
    align-items: center !important;
    gap: 10pt !important;
  }

  .author-avatar {
    width: 36pt !important;
    height: 36pt !important;
    border-radius: 50% !important;
    border: 1pt solid #f97316 !important;
  }

  .author-name {
    font-size: 11pt !important;
    font-weight: 700 !important;
  }

  .post-date,
  .post-updated,
  .date {
    font-size: 10pt !important;
    color: #71717a !important;
  }

  .post-tags,
  .tags {
    margin-top: 10pt;
  }

  .tag {
    display: inline-block !important;
    background: #f4f4f5 !important;
    color: #52525b !important;
    padding: 2pt 6pt !important;
    font-size: 9pt !important;
    margin-right: 4pt !important;
    margin-bottom: 4pt !important;
    border-radius: 0 !important;
  }

  .featured-image {
    margin: 12pt 0 !important;
    border-radius: 0 !important;
  }

  .featured-image img {
    max-width: 100% !important;
    height: auto !important;
  }

  .post-content,
  .portfolio-content {
    max-width: 100% !important;
    padding: 0 !important;
  }

  .prose {
    font-size: 11pt !important;
    max-width: 100% !important;
  }

  .prose h2 {
    font-size: 16pt !important;
    margin-top: 16pt !important;
    page-break-after: avoid;
    break-after: avoid;
  }

  .prose h3 {
    font-size: 13pt !important;
    margin-top: 12pt !important;
    page-break-after: avoid;
    break-after: avoid;
  }

  .prose p {
    font-size: 11pt !important;
    margin-bottom: 8pt !important;
  }

  .prose ul,
  .prose ol {
    margin-bottom: 8pt !important;
  }

  .prose li {
    font-size: 11pt !important;
    margin-bottom: 4pt !important;
  }

  .prose blockquote {
    border-left: 3pt solid #f97316 !important;
  }

  .prose pre {
    font-size: 9pt !important;
  }

  .social-share,
  .share-buttons,
  .share-btn {
    display: none !important;
  }

  .author-bio {
    display: block !important;
    background: #f4f4f5 !important;
    border: 1pt solid #d4d4d8 !important;
    padding: 12pt !important;
    border-radius: 0 !important;
    margin-top: 16pt;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .bio-avatar {
    width: 60pt !important;
    height: 60pt !important;
    border-radius: 50% !important;
    float: left;
    margin-right: 12pt;
    margin-bottom: 8pt;
  }

  .bio-name {
    font-size: 12pt !important;
    margin-bottom: 6pt;
  }

  .bio-text {
    font-size: 10pt !important;
    color: #52525b !important;
    line-height: 1.5 !important;
  }

  .bio-links {
    display: block !important;
    clear: both;
    padding-top: 8pt;
  }

  .bio-link {
    display: inline !important;
    font-size: 10pt !important;
    color: #f97316 !important;
  }

  .bio-link::after {
    content: " (" attr(href) ")";
    font-size: 9pt;
    color: #71717a !important;
  }

  .back-to-blog,
  .back-section,
  .back-link {
    display: none !important;
  }

  .post-footer {
    border-top: 1pt solid #d4d4d8 !important;
    padding-top: 12pt !important;
    margin-top: 16pt !important;
  }

  .photo-carousel-wrapper {
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .photo-carousel {
    border: 1pt solid #d4d4d8 !important;
    border-radius: 0 !important;
  }

  .carousel-nav,
  .carousel-nav-prev,
  .carousel-nav-next,
  .carousel-indicators,
  .indicator,
  .carousel-thumbnails,
  .thumbnail,
  .lightbox,
  .image-expand {
    display: none !important;
  }

  .carousel-track {
    transform: none !important;
    display: block !important;
  }

  .carousel-slide {
    display: none !important;
  }

  .carousel-slide:first-child {
    display: block !important;
  }

  .slide-image-wrapper {
    aspect-ratio: auto !important;
  }

  .slide-image {
    max-height: 300pt !important;
    width: auto !important;
    margin: 0 auto;
  }

  .slide-caption {
    padding: 10pt !important;
    background: white !important;
  }

  .caption-title {
    font-size: 12pt !important;
  }

  .caption-event {
    font-size: 10pt !important;
    color: #f97316 !important;
  }

  .caption-text {
    font-size: 10pt !important;
  }

  .caption-meta,
  .caption-date {
    font-size: 9pt !important;
    color: #71717a !important;
  }

  .portfolio-summary {
    font-size: 12pt !important;
    color: #52525b !important;
  }

  .portfolio-meta {
    margin-bottom: 12pt !important;
  }

  .metrics {
    display: block !important;
    margin-bottom: 12pt;
  }

  .metric {
    display: inline-block !important;
    background: #f4f4f5 !important;
    border: 1pt solid #d4d4d8 !important;
    padding: 8pt 12pt !important;
    margin-right: 8pt !important;
    margin-bottom: 8pt !important;
    border-radius: 0 !important;
    text-align: center;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .metric-value {
    font-size: 14pt !important;
    font-weight: 700 !important;
    color: #f97316 !important;
  }

  .metric-label {
    font-size: 9pt !important;
    color: #52525b !important;
  }

  .project-links {
    margin-top: 10pt;
  }

  .project-link {
    display: inline-block !important;
    background: white !important;
    border: 1pt solid #f97316 !important;
    padding: 4pt 8pt !important;
    margin-right: 8pt !important;
    margin-bottom: 8pt !important;
    font-size: 10pt !important;
    color: #f97316 !important;
    border-radius: 0 !important;
  }

  .breadcrumb {
    font-size: 9pt !important;
    margin-bottom: 10pt !important;
  }

  .breadcrumb .separator {
    color: #a1a1aa !important;
  }

  .content-wrapper {
    max-width: 100% !important;
  }

  .content-wrapper h2 {
    font-size: 16pt !important;
    page-break-after: avoid;
    break-after: avoid;
  }

  .content-wrapper h3 {
    font-size: 13pt !important;
    page-break-after: avoid;
    break-after: avoid;
  }

  .content-wrapper p {
    font-size: 11pt !important;
  }

  .content-wrapper li {
    font-size: 11pt !important;
  }

  article,
  section {
    page-break-inside: auto;
  }

  .blog-card,
  .media-card,
  .project-card {
    page-break-inside: avoid;
    break-inside: avoid;
    border: 1pt solid #d4d4d8 !important;
    padding: 10pt !important;
    margin-bottom: 12pt !important;
    border-radius: 0 !important;
  }

  .pagination {
    display: none !important;
  }

  .featured-projects {
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .thought-leadership {
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .about-section {
    page-break-inside: avoid;
    break-inside: avoid;
  }

  /* =====================================================
     ABOUT SECTION PRINT STYLES
     ===================================================== */

  .about {
    padding: 16pt 0 !important;
    background: white !important;
  }

  .about-grid {
    display: block !important;
    gap: 0 !important;
    width: 100% !important;
  }

  .about-content {
    margin-bottom: 16pt;
  }

  .about-text p {
    font-size: 11pt !important;
    line-height: 1.6 !important;
    margin-bottom: 8pt !important;
    max-inline-size: none !important;
    text-wrap: auto !important;
  }

  .about-sidebar {
    display: block !important;
    flex-direction: unset !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-bottom: 16pt;
  }

  .pillars-card {
    display: block !important;
    width: 100% !important;
    background: #f4f4f5 !important;
    border: 1pt solid #d4d4d8 !important;
    border-radius: 0 !important;
    padding: 12pt !important;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .pillars-title {
    font-size: 14pt !important;
    font-weight: 700 !important;
    color: #18181b !important;
    margin-bottom: 10pt !important;
    border-bottom: 1pt solid #d4d4d8 !important;
    padding-bottom: 6pt !important;
  }

  .pillar {
    display: block !important;
    flex-direction: unset !important;
    width: 100% !important;
    margin-bottom: 10pt !important;
    padding-bottom: 8pt !important;
    border-bottom: 1pt dashed #e4e4e7 !important;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .pillar:last-child {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    border-bottom: none !important;
  }

  .pillar-icon {
    display: none !important;
  }

  .pillar-content {
    flex: unset !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .pillar-name {
    font-size: 11pt !important;
    font-weight: 700 !important;
    color: #f97316 !important;
    margin-bottom: 3pt !important;
    display: block !important;
    width: 100% !important;
    max-inline-size: none !important;
    white-space: normal !important;
    word-wrap: break-word !important;
  }

  .pillar-desc {
    font-size: 10pt !important;
    line-height: 1.5 !important;
    color: #52525b !important;
    margin: 0 !important;
    display: block !important;
    width: 100% !important;
    max-inline-size: none !important;
    white-space: normal !important;
    word-wrap: break-word !important;
    hyphens: auto !important;
  }

  /* Recognition / Awards section */
  .recognition-section {
    margin-bottom: 16pt !important;
    max-width: 100% !important;
  }

  .recognition-card {
    display: block !important;
    background: #f4f4f5 !important;
    border: 1pt solid #d4d4d8 !important;
    border-radius: 0 !important;
    padding: 12pt !important;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .recognition-title {
    font-size: 14pt !important;
    font-weight: 700 !important;
    color: #18181b !important;
    margin-bottom: 10pt !important;
    border-bottom: 1pt solid #d4d4d8 !important;
    padding-bottom: 6pt !important;
  }

  .awards-list {
    display: block !important;
  }

  .award-item {
    display: block !important;
    flex-direction: unset !important;
    background: white !important;
    border: 1pt solid #d4d4d8 !important;
    border-radius: 0 !important;
    padding: 10pt !important;
    margin-bottom: 8pt !important;
    text-align: left !important;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .award-item:last-child {
    margin-bottom: 0 !important;
  }

  .award-icon {
    display: none !important;
  }

  .award-content {
    text-align: left !important;
  }

  .award-title {
    font-size: 11pt !important;
    font-weight: 700 !important;
    color: #18181b !important;
    margin-bottom: 2pt !important;
  }

  .award-org {
    font-size: 10pt !important;
    color: #52525b !important;
    margin-bottom: 2pt !important;
  }

  .award-year {
    font-size: 9pt !important;
    color: #f97316 !important;
    font-weight: 700 !important;
    margin-bottom: 4pt !important;
  }

  .award-desc {
    font-size: 10pt !important;
    color: #71717a !important;
    line-height: 1.4 !important;
  }

  /* Photo carousel - hide in print */
  .about-carousel,
  .photo-carousel-wrapper,
  .carousel-section-title {
    display: none !important;
  }

  /* =====================================================
     THOUGHT LEADERSHIP SECTION PRINT STYLES
     ===================================================== */

  .thought-leadership {
    padding: 16pt 0 !important;
    background: white !important;
  }

  .content-grid {
    display: block !important;
    grid-template-columns: none !important;
  }

  .content-card {
    display: block !important;
    background: white !important;
    border: 1pt solid #d4d4d8 !important;
    border-radius: 0 !important;
    padding: 10pt !important;
    margin-bottom: 10pt !important;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .content-card:last-child {
    margin-bottom: 0 !important;
  }

  .card-header {
    display: block !important;
    width: 100% !important;
    margin-bottom: 6pt !important;
  }

  .card-icon {
    display: none !important;
  }

  .card-meta {
    display: flex !important;
    flex-direction: row !important;
    width: 100% !important;
    gap: 8pt !important;
    align-items: center !important;
  }

  .content-type {
    font-size: 9pt !important;
    color: #f97316 !important;
    font-weight: 700 !important;
  }

  .content-date {
    font-size: 9pt !important;
    color: #71717a !important;
  }

  .card-title {
    font-size: 12pt !important;
    margin-bottom: 4pt !important;
  }

  .card-title a {
    color: #18181b !important;
    text-decoration: none !important;
  }

  .card-venue {
    font-size: 10pt !important;
    color: #52525b !important;
    margin-bottom: 4pt !important;
  }

  .card-summary {
    font-size: 10pt !important;
    line-height: 1.5 !important;
    color: #52525b !important;
    margin-bottom: 6pt !important;
    display: block !important;
    -webkit-line-clamp: unset !important;
    overflow: visible !important;
  }

  .card-tags {
    margin-bottom: 0 !important;
  }

  .read-more {
    display: none !important;
  }

  .section-footer,
  .view-all-btn {
    display: none !important;
  }

  /* =====================================================
     FEATURED PROJECTS SECTION PRINT STYLES
     ===================================================== */

  .featured-projects {
    padding: 16pt 0 !important;
    background: white !important;
  }

  .section-header {
    text-align: left !important;
    margin-bottom: 12pt !important;
    max-width: 100% !important;
  }

  .section-title {
    font-size: 16pt !important;
    margin-bottom: 4pt !important;
  }

  .section-subtitle {
    font-size: 10pt !important;
    color: #52525b !important;
  }

  .projects-grid {
    display: block !important;
    grid-template-columns: none !important;
  }

  .project-card {
    display: block !important;
    background: white !important;
    border: 1pt solid #d4d4d8 !important;
    border-radius: 0 !important;
    padding: 10pt !important;
    margin-bottom: 10pt !important;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .project-card:last-child {
    margin-bottom: 0 !important;
  }

  .project-category {
    font-size: 9pt !important;
    background: none !important;
    color: #f97316 !important;
    padding: 0 !important;
    margin-bottom: 4pt !important;
  }

  .project-title {
    font-size: 12pt !important;
    margin-bottom: 4pt !important;
  }

  .project-description {
    font-size: 10pt !important;
    line-height: 1.5 !important;
    color: #52525b !important;
    margin-bottom: 6pt !important;
  }

  .project-impact {
    display: block !important;
    width: 100% !important;
    background: #f4f4f5 !important;
    border: none !important;
    border-left: 2pt solid #f97316 !important;
    padding: 6pt !important;
    margin-bottom: 6pt !important;
    border-radius: 0 !important;
  }

  .impact-icon {
    display: none !important;
  }

  .impact-text {
    display: block !important;
    width: 100% !important;
    font-size: 10pt !important;
    color: #27272a !important;
    white-space: normal !important;
    word-wrap: break-word !important;
  }

  .project-tags .tag {
    background: #f4f4f5 !important;
    border-radius: 0 !important;
  }

  .project-actions {
    display: none !important;
  }

  .cta-section,
  .btn-outline {
    display: none !important;
  }

  /* CTA Banner - hide in print */
  .cta-banner {
    display: none !important;
  }

  /* =====================================================
     PUBLICATIONS PAGE PRINT STYLES
     ===================================================== */

  .publication-detail {
    padding-top: 0 !important;
  }

  .publication-header {
    padding: 12pt 0 !important;
    background: white !important;
    border-bottom: none !important;
  }

  .publication-type-badge {
    display: inline-block !important;
    background: #f97316 !important;
    color: white !important;
    padding: 2pt 8pt !important;
    font-size: 9pt !important;
    border-radius: 0 !important;
    margin-bottom: 8pt;
  }

  .publication-title {
    font-size: 22pt !important;
    margin-bottom: 10pt !important;
  }

  .publication-venue {
    font-size: 12pt !important;
    font-style: italic !important;
    color: #52525b !important;
    margin-bottom: 8pt;
  }

  .publication-meta {
    font-size: 10pt !important;
    color: #71717a !important;
    margin-bottom: 12pt;
  }

  .pub-links {
    margin-top: 10pt;
  }

  .pub-link {
    display: inline-block !important;
    background: white !important;
    border: 1pt solid #f97316 !important;
    padding: 4pt 8pt !important;
    margin-right: 8pt !important;
    margin-bottom: 8pt !important;
    font-size: 10pt !important;
    color: #f97316 !important;
    border-radius: 0 !important;
  }

  .pub-link svg,
  .pub-link .icon {
    display: none !important;
  }

  .bibtex-btn,
  .copy-bibtex {
    display: none !important;
  }

  .abstract-section {
    background: #f4f4f5 !important;
    border: 1pt solid #d4d4d8 !important;
    padding: 12pt !important;
    margin: 12pt 0 !important;
    border-radius: 0 !important;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .abstract-label {
    font-size: 11pt !important;
    font-weight: 700 !important;
    color: #18181b !important;
    margin-bottom: 6pt;
  }

  .abstract-text {
    font-size: 10pt !important;
    line-height: 1.6 !important;
    color: #27272a !important;
  }

  /* =====================================================
     MEDIA PAGE PRINT STYLES
     ===================================================== */

  .media-detail {
    padding-top: 0 !important;
  }

  .media-header {
    padding: 12pt 0 !important;
    background: white !important;
    border-bottom: none !important;
  }

  .media-type-badge {
    display: inline-block !important;
    background: #f97316 !important;
    color: white !important;
    padding: 2pt 8pt !important;
    font-size: 9pt !important;
    border-radius: 0 !important;
    margin-bottom: 8pt;
  }

  .media-title {
    font-size: 22pt !important;
    margin-bottom: 10pt !important;
  }

  .media-meta {
    font-size: 10pt !important;
    color: #71717a !important;
    margin-bottom: 12pt;
  }

  .media-meta svg,
  .media-meta .icon {
    display: none !important;
  }

  /* Video embed print handling */
  .embed-container {
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .embed-container iframe,
  .embed-container video,
  .video-embed iframe {
    display: none !important;
  }

  .embed-print-placeholder {
    display: block !important;
    background: #f4f4f5 !important;
    border: 1pt solid #d4d4d8 !important;
    padding: 16pt !important;
    margin: 12pt 0 !important;
    text-align: center;
  }

  .embed-print-placeholder p {
    margin: 4pt 0 !important;
    font-size: 10pt !important;
  }

  .embed-print-placeholder .video-title {
    font-size: 12pt !important;
    font-weight: 700 !important;
    color: #18181b !important;
  }

  .embed-print-placeholder .video-url {
    font-size: 9pt !important;
    color: #71717a !important;
    word-break: break-all;
  }

  /* =====================================================
     PRINT CITATION BLOCK
     ===================================================== */

  .print-citation {
    display: block !important;
    margin-top: 24pt;
    padding: 12pt;
    border: 1pt solid #d4d4d8;
    background: #f4f4f5 !important;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .print-citation-label {
    font-size: 10pt !important;
    font-weight: 700 !important;
    color: #18181b !important;
    margin-bottom: 6pt;
  }

  .print-citation-text {
    font-size: 9pt !important;
    line-height: 1.5 !important;
    color: #52525b !important;
  }

  /* =====================================================
     RELATED CONTENT SECTIONS (hide in print)
     ===================================================== */

  .related-content,
  .related-media,
  .related-posts {
    display: none !important;
  }
}
