/* Global design tokens consumed by resume.html (index.html does not link to this sheet) */
:root {
        --bg: #03060f;
        --bg-panel: hsla(220, 65%, 8%, 0.9);
        --fg: #e8f7ff;
        --fg-soft: hsla(200, 100%, 96%, 0.78);
        --fg-muted: hsla(200, 100%, 96%, 0.6);
        --accent: #00ffe0;
        --accent-2: #ff2df2;
        --accent-3: #5b8eff;
        --mono: "Share Tech Mono", monospace;
        --display: "Rajdhani", sans-serif;

        --accent-hue: 173;
        --accent-2-hue: 303;
        --accent-3-hue: 218;
        --timeline-gap: clamp(110px, 12vw, 140px);
        --timeline-node-size: clamp(66px, 9vw, 96px);
        --timeline-column-gap: clamp(1rem, 3vw, 2.4rem);
        --timeline-anchor-left: 20%;
        --timeline-anchor-right: 60%;
        --identity-column-gap: clamp(1rem, 2.2vw, 1.3rem);
        --identity-stack-gap: calc(var(--identity-column-gap) * 0.45);
      }
      
      /* Universal box-sizing reset so resume layout behaves consistently */
      * {
        box-sizing: border-box;
      }

      /* Resume page body: matrix background + overall layout scaffold */
      body {
        margin: 0;
        font-family: var(--mono);
        color: var(--fg);
        background: radial-gradient(circle at 20% -10%, hsla(var(--accent-hue), 100%, 50%, 0.25), transparent 55%),
          radial-gradient(circle at 85% 120%, hsla(var(--accent-2-hue), 100%, 59%, 0.18), transparent 60%), var(--bg);
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: clamp(1.5rem, 5vw, 3rem);
        gap: 1.5rem;
        -webkit-font-smoothing: antialiased;
      }

      /* Resume-only banner that holds the print/export hint and button */
      .no-print {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        flex-wrap: wrap;
        width: 100%; 
        max-width: 1280px;
        border: 1px solid hsla(var(--accent-hue), 100%, 50%, 0.3);
        border-radius: 18px;
        background: hsla(220, 65%, 8%, 0.82);
        padding: 1rem 1.4rem;
        color: var(--fg-soft);
        letter-spacing: 0.08em;
        text-transform: uppercase;
        box-shadow: 0 18px 34px hsla(0, 0%, 0%, 0.45);
      }

      /* Text span inside .no-print banner */
      .no-print span {
        flex: 1 1 260px;
        min-width: 0;
      }

      /* Print/export button within the .no-print utility bar */
      .no-print button {
        border: 1px solid hsla(180, 100%, 50%, 0.6);
        background: hsla(180, 100%, 50%, 0.25);
        box-shadow: 
          0 0 15px hsla(180, 100%, 50%, 0.5),
          inset 0 1px 0 hsla(180, 100%, 80%, 0.3);
        color: #000;
        font-weight: 600;
        font-family: var(--mono);
        text-transform: uppercase;
        letter-spacing: 0.12em;
        font-size: 0.75rem;
        padding: 0.6rem 1.2rem;
        border-radius: 12px;
        cursor: pointer;
        transition: all 0.18s ease;
        flex: 0 0 auto;
      }

      /* Hover affordance for the .no-print button */
      .no-print button:hover {
        transform: translateY(-2px);
        background: hsla(180, 100%, 50%, 0.4);
        box-shadow: 
          0 0 25px hsla(180, 100%, 50%, 0.7),
          0 0 40px hsla(180, 100%, 50%, 0.4),
          inset 0 1px 0 hsla(180, 100%, 90%, 0.4);
        border-color: hsla(180, 100%, 50%, 0.9);
      }

      /* Resume main container (wraps header, experience, skills sections) */
      main {
        width: 100%;
        max-width: 1200px;
        background: linear-gradient(170deg, hsla(220, 65%, 8%, 0.94), hsla(227, 70%, 6%, 0.86));
        border-radius: 18px;
        border: 1px solid hsla(var(--accent-hue), 100%, 50%, 0.18);
        box-shadow: 0 12px 24px hsla(0, 0%, 0%, 0.35), 0 0 0.8rem hsla(var(--accent-hue), 100%, 50%, 0.12);
        padding: clamp(1rem, 2vw, 1.5rem) clamp(1rem, 2vw, 1.5rem);
        display: grid;
        gap: clamp(0.8rem, 2vw, 1.2rem);
        position: relative;
        isolation: isolate;
      }

      /* Glow layer behind main container */
      main::before {
        content: "";
        position: absolute;
        inset: 0;
        border-radius: inherit;
        background: radial-gradient(circle at 10% 15%, hsla(var(--accent-hue), 100%, 50%, 0.12), transparent 65%),
          radial-gradient(circle at 80% 20%, hsla(var(--accent-2-hue), 100%, 59%, 0.12), transparent 60%);
        z-index: -1;
      }

      /* Desktop-like window chrome around entire resume body */
      header {
        display: grid;
        gap: 0.7rem;
        background: hsla(220, 65%, 8%, 0.7);
        border-radius: 16px;
        box-shadow: 0 4px 24px hsla(220, 65%, 8%, 0.18);
      }

      /* Hero section wrapper containing portrait + dossier text */
      .identity {
        display: grid;
        grid-template-columns: clamp(150px, 22vw, 260px) minmax(0, 1fr);
        column-gap: var(--identity-column-gap);
        row-gap: clamp(1rem, 2vw, 1.6rem);
        align-items: flex-start;
        background: hsla(220, 65%, 8%, 0.5);
        border-radius: 18px;
        padding: clamp(1.2rem, 2.5vw, 2rem);
        position: relative;
        overflow: hidden;
      }

      /* Container that builds the teal “pylon” beside the portrait */
      .identity__photo-pylon {
        position: relative;
        display: flex;
        align-items: flex-start;
        justify-content: center;
        padding-left: clamp(1.2rem, 2vw, 1.8rem);
        min-height: clamp(220px, 30vw, 320px);
      }

      /* Outer teal rail for the portrait column */
      .identity__photo-pylon::before {
        content: "";
        position: absolute;
        left: 0;
        top: clamp(0.5rem, 1.5vw, 1.5rem);
        bottom: clamp(0.5rem, 1.5vw, 1.5rem);
        width: clamp(26px, 3vw, 44px);
        border-radius: 16px;
        background: linear-gradient(180deg, #00ffe0, #00ae94);
        box-shadow:
          0 0 30px rgba(0, 255, 224, 0.35),
          inset 0 0 8px rgba(0, 0, 0, 0.35);
      }

      /* Inner cut-out portion inside the pylon */
      .identity__photo-pylon::after {
        content: "";
        position: absolute;
        left: clamp(9px, 1.8vw, 20px);
        top: clamp(1.6rem, 4vw, 2.5rem);
        bottom: clamp(1.6rem, 4vw, 2.5rem);
        width: clamp(10px, 1.6vw, 16px);
        border-radius: 8px;
        background: hsla(222, 90%, 6%, 0.95);
        box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.65);
        z-index: 0;
      }

      /* Actual portrait frame */
      .identity__visual {
        width: clamp(160px, 20vw, 240px);
        aspect-ratio: 3 / 4;
        border-radius: 24px;
        border: 1px solid hsla(var(--accent-hue), 100%, 65%, 0.35);
        overflow: hidden;
        box-shadow:
          0 25px 40px hsla(0, 0%, 0%, 0.45),
          0 0 40px hsla(var(--accent-hue), 100%, 55%, 0.32);
        background: hsla(222, 75%, 8%, 0.7);
        z-index: 1;
      }

      /* Portrait image styling */
      .identity__visual img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        filter: saturate(1.08) contrast(1.05);
      }

      /* Right-hand column that holds hero copy */
      .identity__content {
        display: grid;
        gap: var(--identity-stack-gap);
        padding-left: 0;
        align-content: start;
      }

      /* “LLAN-OS OPERATIVE DOSSIER” label styling */
      .identity__label {
        font-size: 0.72rem;
        text-transform: uppercase;
        color: hsla(200, 100%, 96%, 0.58);
      }

      /* Hero name typography */
      .identity__name {
        margin: 0;
        font-family: var(--display);
        text-transform: uppercase;
        font-size: clamp(4rem, 2vw, 1rem);
        letter-spacing: .1em;
        color: var(--fg);
        text-shadow: 0 0 1.4rem hsla(var(--accent-hue), 100%, 50%, 0.4);
      }

      /* Hero subtitle typography */
      .identity__title {
        margin: 0;
        font-size: clamp(1rem, 3.5vw, 1.2rem);
        letter-spacing: 0.18em;
        text-transform: uppercase;
        color: #a0c4ff;
        text-shadow: 0 0 8px hsla(218, 100%, 81%, 0.3);
      }

      /* Neon divider lines between hero rows */
      .identity__divider {
        display: block;
        height: 1px;
        width: 100%;
        background: linear-gradient(90deg, transparent, rgba(79, 195, 247, 0.45), transparent);
        margin: 0;
      }

      /* Ensure the name/title separator has equal padding above and below */
      .identity__divider:not(.identity__divider--soft) {
        margin: calc(var(--identity-stack-gap) / 3) 0;
      }

      /* Softer divider for muted separation */
      .identity__divider--soft {
        opacity: 0.5;
        background: linear-gradient(90deg, transparent, rgba(79, 195, 247, 0.18), transparent);
      }

      /* Summary paragraph text */
      .identity__summary {
        margin: 0;
        color: var(--fg-soft);
        font-size: 0.95rem;
        line-height: 1.6;
      }

      /* Italic note referencing Projects link */
      .identity__note {
        margin: calc(var(--identity-column-gap) - (2 * var(--identity-stack-gap))) 0 0;
        color: var(--fg-muted);
        font-size: 0.78rem;
        line-height: 1.4;
        font-style: italic;
      }

      /* Accent color inside the note */
      .identity__note strong {
        color: var(--accent-3);
        font-style: normal;
      }

      /* Ensures contact row spans both columns */
      .contact {
        grid-column: 1 / -1;
      }

      /* Grid for the rounded contact pills under the hero */
      .contact--pills {
        display: flex;
        flex-wrap: wrap;
        gap: 0.5rem;
        background: transparent;
        border-radius: 0;
        padding: 0;
        align-items: center;
        width: 100%;
      }

      /* Individual contact pill (email, phone, etc.) */
      .contact__row {
        display: flex;
        align-items: center;
        letter-spacing: 0.10em;
        text-transform: uppercase;
        font-size: 11pt;
        border-radius: 999px;
        padding: 0.55rem 1rem;
        border: 1px solid rgba(79, 195, 247, 0.3);
        background: rgba(5, 10, 14, 0.72);
        box-shadow: 0 8px 20px rgba(0, 0, 0, 0.35);
        width: auto;
        flex: 0 0 auto;
        min-width: 0;
        white-space: normal;
      }

      /* Emoji/emoji-like icon bubble inside contact pill */
      .contact__row span {
        display: inline-flex;
        width: 34px;
        height: 34px;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        background: radial-gradient(circle, rgba(79, 195, 247, 0.3), rgba(0, 0, 0, 0.2));
        color: var(--accent);
        font-size: 0.9rem;
        flex-shrink: 0;
      }

      /* Icon image inside each contact pill */
      .contact__row span img {
        width: 60%;
        height: 60%;
        object-fit: contain;
        filter: drop-shadow(0 0 4px rgba(0, 0, 0, 0.6));
      }

      /* Hyperlinks inside the contact pill copy */
      .contact__row a {
        color: var(--fg);
        text-decoration: none;
        white-space: nowrap;
        word-break: break-word;
      }

      /* “Signal metrics” cards right below hero */
      .metrics {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
        gap: 0.5rem;
      }

      /* Individual metric panel */
      .metric {
        border: 1px solid hsla(var(--accent-hue), 100%, 50%, 0.18);
        border-radius: 14px;
        padding: 0.6rem 0.7rem;
        background: hsla(223, 81%, 6%, 0.62);
        display: grid;
        gap: 0.2rem;
      }

      /* Primary metric numbers */
      .metric strong {
        font-family: var(--display);
        font-size: 1.9rem;
        letter-spacing: 0.18em;
        color: var(--accent);
      }

      /* Supporting copy under each metric */
      .metric span {
        color: var(--fg-soft);
        font-size: 0.85rem;
        line-height: 1.4;
      }

      /* Shared styling for section headings (Experience, Skills, etc.) */
      section h2 {
        margin: 0 0 0.7rem;
        font-family: var(--display);
        letter-spacing: 0.26em;
        text-transform: uppercase;
        font-size: 1rem;
        color: var(--accent-3);
      }

      /* Wrapper for the timeline-like experience section */
      .experience {
        position: relative;
        padding: 1.1rem 0 0.7rem 0;
      }

      /* Grid that pairs left/right experience cards around the center line */
      .experience__grid {
        position: relative;
        display: grid;
        gap: clamp(0.8rem, 2vw, 1.2rem);
        margin-top: 0.7rem;
      }

      /* Vertical neon line running through the experience section */
      .experience__grid::before {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        width: 3px;
        background: linear-gradient(
          180deg,
          transparent,
          var(--accent) 5%,
          var(--accent) 95%,
          transparent
        );
        z-index: 0;
      }

      /* Row that holds a left card, spacer, and right card */
      .experience__row {
        display: grid;
        grid-template-columns: minmax(0, 1fr) var(--timeline-gap) minmax(0, 1fr);
        column-gap: var(--timeline-column-gap);
        row-gap: clamp(0.5rem, 1vw, 1rem);
        align-items: stretch;
        position: relative;
        z-index: 1;
      }

      /* Individual experience card styling */
      .experience__card {
        border: 1px solid hsla(var(--accent-hue), 100%, 50%, 0.16);
        border-radius: 12px;
        padding: 0.7rem 0.8rem;
        background: hsla(223, 81%, 6%, 0.62);
        display: grid;
        gap: 0.3rem;
        position: relative;
      }

      /* Short italicized context note per role */
      .experience__note {
        margin: 0.2rem 0 0.6rem;
        color: var(--fg-soft);
        font-size: 0.75rem;
        font-style: italic;
        padding-left: 0.5rem;
      }

      /* Horizontal connector between card and center spine */
      .experience__card::after {
        content: "";
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        width: calc(var(--timeline-column-gap) + (var(--timeline-gap) / 2));
        height: 2px;
        background: hsla(var(--accent-hue), 100%, 50%, 0.4);
      }

      /* Positioning tweaks for left-side cards */
      .experience__card--left {
        text-align: left;
        grid-column: 1 / 2;
      }

      /* Connector placement for left-side cards */
      .experience__card--left::after {
        top: var(--timeline-anchor-left);
        right: calc(-1 * (var(--timeline-column-gap) + (var(--timeline-gap) / 2)));
      }

      /* Positioning tweaks for right-side cards */
      .experience__card--right {
        text-align: left;
        grid-column: 3 / 4;
        margin-top: 10%;
      }

      /* Connector placement for right-side cards */
      .experience__card--right::after {
        top: var(--timeline-anchor-right);
        left: calc(-1 * (var(--timeline-column-gap) + (var(--timeline-gap) / 2)));
      }

      /* Circular logo badge that floats over each experience card */
      .experience__logo {
        width: 56px;
        height: 56px;
        border-radius: 50%;
        border: 2px solid hsla(var(--accent-hue), 100%, 50%, 0.3);
        background: hsla(223, 81%, 6%, 0.82);
        display: flex;
        align-items: center;
        justify-content: center;
        overflow: hidden;
        box-shadow: 0 0 10px hsla(0, 0%, 0%, 0.25);
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        z-index: 2;
      }

      /* Anchor left-side logos to the spine */
      .experience__card--left .experience__logo {
        right: calc(-1 * (var(--timeline-column-gap) + (var(--timeline-gap) / 2) + (var(--timeline-node-size) / 2)));
        top: var(--timeline-anchor-left);
      }

      /* Anchor right-side logos to the spine */
      .experience__card--right .experience__logo {
        left: calc(-1 * (var(--timeline-column-gap) + (var(--timeline-gap) / 2) + (var(--timeline-node-size) / 2)));
        top: var(--timeline-anchor-right);
      }

      /* Ensure partner/company logos fit within the badge */
      .experience__logo img {
        display: block;
        width: 75%;
        height: 75%;
        object-fit: contain;
        filter: brightness(1.1);
      }

      /* Job title typography within experience cards */
      .experience h3 {
        margin: 0;
        font-family: var(--display);
        letter-spacing: 0.16em;
        text-transform: uppercase;
        font-size: 0.8rem;
        color: #a0c4ff;
        text-shadow: 0 0 6px hsla(218, 100%, 81%, 0.2);
        padding-left: 0.3rem;
      }

      /* Meta line (company + dates) styling */
      .experience .meta {
        font-size: 0.65rem;
        letter-spacing: 0.12em;
        text-transform: uppercase;
        color: var(--accent);
        padding-left: 0.3rem;
      }

      /* Paragraph copy within experience cards */
      .experience article p,
      .experience__card p {
        padding-left: 0.3rem;
        font-size: 0.72rem;
      }

      /* Bullet list formatting inside experience cards */
      .experience ul,
      .experience__card ul {
        margin: 0;
        padding-left: 1.1rem;
        display: grid;
        gap: 0.2rem;
        color: var(--fg-soft);
        font-size: 0.75rem;
        line-height: 1.4;
      }

      /* Tablet breakpoint: linearize the experience timeline */
      @media (max-width: 900px) {
        /* Tablet: stack each experience row vertically */
        .experience__row {
          display: block;
        }
        /* Tablet: add breathing room between stacked cards */
        .experience__card {
          margin-bottom: 1.2rem;
        }
        /* Tablet: position logos inline instead of floating */
        .experience__logo {
          position: static;
          margin-bottom: 0.5rem;
          display: block;
        }
        /* Tablet: remove offset on alternating cards */
        .experience__card--right,
        .experience__card--left {
          margin-top: 0;
        }
        /* Tablet: move center spine closer to left margin */
        .experience__grid::before {
          left: 0.75rem;
        }

        /* Tablet: override grid definition to single column */
        .experience__row {
          grid-template-columns: minmax(0, 1fr);
        }

        /* Tablet: indent cards so connectors still visible */
        .experience__card {
          padding-left: 2.2rem;
        }

        /* Tablet: shorten connector lines */
        .experience__card::after,
        .experience__card--right::after {
          left: 0.5rem;
          right: auto;
          width: 1.4rem;
          top: 2.4rem;
          transform: none;
        }

        /* Tablet: remove top offset on right cards */
        .experience__card--right {
          margin-top: 0;
        }

        /* Tablet: reflow logos inline above card titles */
        .experience__card--left .experience__logo,
        .experience__card--right .experience__logo {
          position: relative;
          right: auto;
          left: 0;
          margin-bottom: 0.6rem;
          transform: none;
          top: auto;
        }
      }

      /* Wrapper for the skills + competencies section */
      .skills {
        display: grid;
        gap: 1rem;
      }

      /* Responsive grid for the skill cards */
      .skills__grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 0.5rem;
      }

      /* Tablet breakpoint: shrink skills grid to two columns */
      @media (max-width: 900px) {
        /* Tablet: show two skill cards per row */
        .skills__grid {
          grid-template-columns: repeat(2, 1fr);
        }
      }

      /* Individual skill card styling */
      .skill-card {
        border: 1px solid hsla(var(--accent-hue), 100%, 50%, 0.14);
        border-radius: 10px;
        padding: 0.5rem 0.7rem;
        background: hsla(227, 75%, 7%, 0.62);
        display: grid;
        gap: 0.2rem;
      }

      /* Skill card headings */
      .skill-card h3 {
        margin: 0;
        font-family: var(--display);
        letter-spacing: 0.16em;
        text-transform: uppercase;
        font-size: 0.72rem;
        color: var(--accent);
      }

      /* Bullet list inside each skill card */
      .skill-card ul {
        margin: 0;
        padding-left: 0.7rem;
        display: grid;
        gap: 0.15rem;
        color: var(--fg-soft);
        font-size: 0.72rem;
      }

      /* Responsive adjustments for phones/tablets up to 640px */
      @media (max-width: 640px) {
        /* Mobile: stack the print/export bar */
        .no-print {
          flex-direction: column;
          align-items: stretch;
          text-align: center;
        }

        /* Mobile: button spans full width */
        .no-print button {
          width: 100%;
        }

        /* Mobile: hero identity section becomes single column */
        .identity {
          display: flex;
          flex-direction: column;
          align-items: center;
          text-align: center;
          gap: var(--identity-stack-gap);
        }

        /* Mobile: flatten content children so individual elements can reorder */
        .identity__content {
          display: contents;
        }

        .identity__label {
          order: 1;
        }

        .identity__name {
          order: 2;
        }

        /* Mobile: portrait sits directly under the hero name/text */
        .identity__photo-pylon {
          order: 3;
          justify-content: center;
          padding-left: 0;
          margin-top: calc(var(--identity-stack-gap) * 0.5);
        }

        .identity__divider:not(.identity__divider--soft) {
          order: 4;
          margin: var(--identity-stack-gap) 0;
          width: min(260px, 80vw);
        }

        .identity__title {
          order: 5;
        }

        .identity__summary {
          order: 6;
        }

        .identity__divider--soft {
          order: 7;
          width: min(260px, 80vw);
        }

        .identity__note {
          order: 8;
        }

        /* Mobile: contact pills follow the note */
        .contact {
          order: 9;
          width: 100%;
        }

        /* Mobile: hide teal pylon rails */
        .identity__photo-pylon::before,
        .identity__photo-pylon::after {
          display: none;
        }

        /* Mobile: keep portrait centered with spacing */
        .identity__visual {
          margin: 0 auto 0.4rem;
        }

        /* Mobile: stack contact pills one per row */
        .contact--pills {
          display: grid;
          grid-template-columns: 1fr;
          justify-items: center;
          gap: 0.6rem;
          width: 100%;
        }

        /* Mobile: make each pill stretch and center content */
        .contact__row {
          width: min(100%, 360px);
          justify-content: center;
          margin: 0 auto;
          flex: none;
          white-space: normal;
          min-width: 0;
        }

        /* Mobile: allow contact links to wrap */
        .contact__row a {
          white-space: normal;
        }

        /* Mobile: edge-to-edge main container */
        main {
          max-width: 100vw;
          padding: 0.5rem 0.2rem;
          border-radius: 0;
          box-shadow: none;
        }

        /* Mobile: tighter spacing between header panels */
        header {
          gap: 0.3rem;
        }

        /* Mobile: smaller hero text */
        .identity__name {
          font-size: 1.3rem;
        }

        .identity__title {
          font-size: 0.9rem;
        }

        .identity__summary {
          font-size: 0.85rem;
        }

        /* Mobile: single-column grids */
        .metrics,
        .skills__grid,
        .experience__row {
          grid-template-columns: 1fr;
        }

        .metrics {
          gap: 0.3rem;
        }

        /* Mobile: tighter padding on experience cards */
        .experience__card {
          padding: 0.5rem 0.5rem;
        }

        /* Mobile: section heading size reduction */
        section h2 {
          font-size: 0.9rem;
        }
      }

      /* Extra-tight mobile overrides for narrow phones */
      @media (max-width: 480px) {
        /* 480px: trim outer padding even more */
        main {
          padding: 0.2rem 0.1rem;
        }

        /* 480px: further reduce hero text sizes */
        .identity__name {
          font-size: 1rem;
        }

        .identity__title {
          font-size: 0.8rem;
        }

        .identity__summary {
          font-size: 0.75rem;
        }

        /* 480px: tighten supporting grids */
        .metrics {
          gap: 0.15rem;
        }

        .skills__grid {
          gap: 0.2rem;
        }

        .skill-card,
        .experience__card {
          padding: 0.3rem 0.3rem;
        }

        section h2 {
          font-size: 0.8rem;
        }
      }


      /* Print stylesheet so resume exports cleanly to PDF */
      @media print {
        body {
          padding: 0;
          background: var(--bg) !important;
          color: var(--fg);
          font-size: 10pt;
          line-height: 1.3;
        }

        /* Hide the print instructions in the exported PDF */
        .no-print {
          display: none !important;
        }

        /* Remove rounded corners/shadows when printing */
        main {
          box-shadow: none;
          border-radius: 0;
          border: none;
          width: auto;
          margin: 0;
          page-break-inside: auto;
          min-height: auto !important;
          height: auto !important;
          display: block;
          background: var(--bg);
          color: inherit;
          padding: 0.5rem 0.5rem;
        }

        /* Transparent backgrounds reduce ink during print */
        header,
        section {
          background: transparent;
        }

        /* Contact rows print as a two-column grid */
        .contact {
          display: grid;
          grid-template-columns: repeat(2, minmax(0, 1fr));
          gap: 0.2rem 0.4rem;
          text-transform: none;
        }

        /* Strip pill styling from contact chips for print 
        .contact__row {
          align-items: center;
          gap: 0.2rem;
          letter-spacing: 0.04em;
          font-size: 8pt;
          border: none;
          background: transparent;
          box-shadow: none;
          padding: 0;
          border-radius: 0;
        } 

        /* Hide emoji icons when printing 
        .contact__row span {
          display: none;
        }*/

        /* Ensure contact links print in body color */
        .contact__row a {
          color: var(--fg);
          text-decoration: none;
        }

        /* Print: keep hero split into portrait + text columns */
        .identity {
          display: grid;
          grid-template-columns: clamp(150px, 22vw, 240px) minmax(0, 1fr);
          column-gap: var(--identity-column-gap);
          row-gap: var(--identity-stack-gap);
          align-items: flex-start;
        }

        .identity__photo-pylon {
          grid-column: 1 / 2;
          margin: 0;
        }
        

        /* Print: inline hero text beside the portrait */
        .identity__content {
          grid-column: 2 / 3;
          display: flex;
          flex-direction: column;
          justify-content: center;
          gap: var(--identity-stack-gap);
          text-align: left;
        }

        /* Print: remove teal rails to save ink */
        .identity__photo-pylon::before,
        .identity__photo-pylon::after {
          display: none;
        }

        /* Print: set portrait to predictable size */
        .identity__visual {
          width: 1.6in;
          margin: 0 0 0.3rem 0;
        }

        /* Print: keep title block beside portrait */
        /* Print: summary/note/contact span full width under hero */
        .identity__title,
        .identity__summary,
        .identity__divider--soft,
        .identity__note,
        .contact {
          display: none;
          grid-column: 1 / -1;
        }

        /* Print: metrics in three-column grid */
        .metrics {
          grid-template-columns: repeat(3, minmax(0, 1fr));
          gap: 0.3rem;
        }

        /* Print: tighter padding for metrics */
        .metric {
          padding: 0.3rem 0.5rem;
        }

        /* Print: hide decorative connectors */
        .experience__grid::before,
        .experience__card::after {
          display: none;
        }

        /* Print: flatten experience grid */
        .experience__grid,
        .experience__row {
          display: block;
        }

        /* Print: condensed card styling */
        .experience__card {
          width: 100% !important;
          margin: 0 0 0.5rem 0;
          padding: 0.4rem 0.5rem;
          border-radius: 10px;
          border-color: hsla(var(--accent-hue), 100%, 50%, 0.14);
          background: hsla(223, 81%, 6%, 0.25);
          page-break-inside: avoid;
        }

        /* Print: smaller logos inline with card text */
        .experience__logo {
          width: 36px;
          height: 36px;
          margin-bottom: 0.2rem;
          position: static;
          transform: none;
        }

        /* Print: remove alternating offsets */
        .experience__card--right,
        .experience__card--left {
          margin-top: 0;
        }

        /* Print: skills grid uses three columns */
        .skills__grid {
          grid-template-columns: repeat(3, minmax(0, 1fr));
          gap: 0.2rem;
        }

        /* Print: tighter padding for skill cards */
        .skill-card {
          padding: 0.3rem 0.3rem;
        }

        /* Ensure colors render consistently across printers */
        * {
          -webkit-print-color-adjust: exact;
          print-color-adjust: exact;
        }

        /* Set PDF export size + margins */
        @page {
          size: A4;
          margin: 0.45in;
        }
      }