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

  *,
  *::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;
  }

  .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;
    margin-top: 16pt;
  }

  .expertise-left,
  .expertise-right {
    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;
    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;
    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;
  }

  .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;
  }
}
