/* Professional portfolio: a focused, recruiter-friendly reading experience. */
.pp-skill-group { padding: 0; }
.professional-portfolio-hero { background: radial-gradient(circle at 85% 12%, rgba(244,81,44,.2), transparent 25%), radial-gradient(circle at 62% 105%, rgba(244,81,44,.1), transparent 30%), #201d1c; color: #fff; overflow: hidden; padding: 88px 0 76px; position: relative; }
.professional-portfolio-hero:before { background-image: linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px); background-size: 34px 34px; content: ''; inset: 0; mask-image: linear-gradient(to right, rgba(0,0,0,.6), transparent 85%); opacity: .6; pointer-events: none; position: absolute; }
.professional-portfolio-hero .container { position: relative; }
.pp-hero-grid { align-items: start; display: grid; gap: clamp(40px, 6vw, 88px); grid-template-columns: minmax(0, 1.15fr) minmax(320px, .65fr); }
.pp-hero-copy { transform: none; }
.pp-eyebrow { align-items: center; color: var(--color-brand, #f4512c); display: inline-flex; font-size: 12px; font-weight: 800; gap: 8px; letter-spacing: .1em; margin: 0; text-transform: uppercase; }
.professional-portfolio-hero .pp-eyebrow { color: #ffb5a3; }
.pp-eyebrow i { font-size: 15px; }
.pp-availability { align-items: center; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.14); border-radius: 999px; display: inline-flex; font-size: 12px; font-weight: 700; gap: 8px; margin: 15px 0 17px; padding: 7px 11px; }
.pp-availability span { background: #70e0a3; border-radius: 50%; box-shadow: 0 0 0 4px rgba(112,224,163,.14); height: 7px; width: 7px; }
.pp-hero-copy h1 { color: #fff; font-size: clamp(47px, 7vw, 78px); letter-spacing: -.075em; line-height: .93; margin: 16px 0 15px; max-width: 780px; }
.pp-headline { color: #ffb5a3; font-size: clamp(19px, 2.2vw, 26px); font-weight: 600; letter-spacing: -.025em; line-height: 1.2; margin: 0; }
.pp-summary { color: rgba(255,255,255,.8); font-size: 17px; line-height: 1.7; margin: 22px 0 0; max-width: 715px; white-space: pre-line; }
.pp-hero-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 11px; margin-top: 30px; }
.pp-button { align-items: center; border-radius: 10px; display: inline-flex; font-size: 14px; font-weight: 800; gap: 8px; justify-content: center; min-height: 48px; padding: 12px 17px; text-decoration: none; transition: background .2s, border-color .2s, box-shadow .2s, transform .2s; }
.pp-button:hover { transform: translateY(-2px); }
.pp-button-primary { background: var(--color-brand, #f4512c); color: #fff; }.pp-button-primary:hover { background: #e34321; box-shadow: 0 12px 22px rgba(244,81,44,.2); color: #fff; }
.pp-button-secondary { border: 1px solid rgba(255,255,255,.25); color: #fff; }.pp-button-secondary:hover { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.55); color: #fff; }
.pp-identity-list { display: flex; flex-wrap: wrap; gap: 9px 19px; list-style: none; margin: 27px 0 0; padding: 0; }.pp-identity-list li { align-items: center; color: rgba(255,255,255,.68); display: inline-flex; font-size: 13px; gap: 7px; }.pp-identity-list i { color: #ffb5a3; font-size: 15px; }.pp-identity-list a { color: inherit; text-decoration: none; }.pp-identity-list a:hover { color: #fff; }
.pp-hero-profile { position: relative; }
.pp-profile-photo-wrap { aspect-ratio: 4 / 5; border-radius: 24px; box-shadow: 0 24px 65px rgba(0,0,0,.24); margin: 0 auto 25px; max-width: 440px; overflow: hidden; position: relative; width: 100%; }.pp-profile-photo, .pp-profile-initials { display: block; height: 100%; object-fit: cover; width: 100%; }.pp-profile-initials { align-items: center; background: linear-gradient(135deg, #f4512c, #713021); color: #fff; display: flex; font-size: 74px; font-weight: 800; justify-content: center; letter-spacing: -.08em; }.pp-profile-badge { align-items: center; background: #fff; border-radius: 50%; bottom: 14px; box-shadow: 0 5px 14px rgba(0,0,0,.28); color: var(--color-brand, #f4512c); display: flex; font-size: 26px; height: 46px; justify-content: center; position: absolute; right: 14px; width: 46px; }
.pp-stat-grid { display: grid; gap: 10px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0 auto; max-width: 440px; text-align: center; }.pp-stat-grid div { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.14); border-radius: 12px; min-height: 83px; padding: 14px 8px 11px; }.pp-stat-grid strong, .pp-stat-grid span { display: block; }.pp-stat-grid strong { color: #fff; font-size: 27px; letter-spacing: -.05em; line-height: 1; }.pp-stat-grid span { color: rgba(255,255,255,.72); font-size: 10px; font-weight: 800; line-height: 1.25; margin: 8px auto 0; max-width: 90px; text-transform: uppercase; }
.pp-social-presence { align-items: center; display: flex; gap: 12px; justify-content: center; margin: 18px auto 0; max-width: 440px; }.pp-social-presence > span { color: rgba(255,255,255,.62); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }.pp-social-presence > div { display: flex; gap: 7px; }.pp-social-presence i { align-items: center; background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.14); border-radius: 50%; color: #ffb5a3; display: inline-flex; font-size: 15px; height: 31px; justify-content: center; width: 31px; }
.pp-focus-card { align-items: flex-start; display: flex; gap: 11px; margin-top: 19px; }.pp-focus-card > i { color: #ffb5a3; font-size: 19px; margin-top: 1px; }.pp-focus-card span, .pp-focus-card strong { display: block; }.pp-focus-card span { color: rgba(255,255,255,.58); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }.pp-focus-card strong { color: #fff; font-size: 13px; line-height: 1.45; margin-top: 4px; }
.pp-section-nav { background: #fff; border-bottom: 1px solid var(--color-border-soft, #eee7e3); border-top: 1px solid var(--color-border-soft, #eee7e3); position: sticky; top: 0; z-index: 20; }.pp-section-nav .container > div { display: flex; gap: 3px; overflow-x: auto; scrollbar-width: none; }.pp-section-nav .container > div::-webkit-scrollbar { display: none; }.pp-section-nav a { color: var(--color-body, #6d6763); flex: 0 0 auto; font-size: 13px; font-weight: 750; padding: 15px 13px; position: relative; text-decoration: none; }.pp-section-nav a:after { background: var(--color-brand, #f4512c); bottom: 0; content: ''; height: 2px; left: 13px; position: absolute; right: 13px; transform: scaleX(0); transition: transform .2s; }.pp-section-nav a:hover { color: var(--color-brand, #f4512c); }.pp-section-nav a:hover:after { transform: scaleX(1); }
.professional-portfolio-section { padding: 92px 0; }.pp-introduction { background: var(--color-surface-soft, #fbf9f8); }.pp-two-column { align-items: center; display: grid; gap: 50px; grid-template-columns: minmax(0, 1fr) minmax(300px, .7fr); }.pp-intro-statement h2, .pp-section-heading h2, .pp-writing-intro h2, .pp-contact-panel h2 { color: var(--color-heading, #201d1c); font-size: clamp(35px, 4.5vw, 57px); letter-spacing: -.065em; line-height: .99; margin: 13px 0 17px; }.pp-intro-statement p { color: var(--color-body, #6d6763); font-size: 17px; line-height: 1.72; margin: 0; max-width: 670px; white-space: pre-line; }.pp-featured-skills { background: #fff; border: 1px solid var(--color-border-soft, #eee7e3); border-radius: 18px; box-shadow: 0 18px 38px rgba(30,23,20,.055); padding: 26px; }.pp-featured-skills > span { color: var(--color-muted, #958d88); display: block; font-size: 11px; font-weight: 800; letter-spacing: .09em; margin-bottom: 15px; text-transform: uppercase; }.pp-featured-skills div { display: flex; flex-wrap: wrap; gap: 8px; }.pp-featured-skills div span { background: var(--color-brand-soft, #fff0eb); border: 1px solid rgba(244,81,44,.18); border-radius: 999px; color: var(--color-brand, #f4512c); font-size: 13px; font-weight: 800; padding: 8px 11px; }
.pp-experience-section { background: #fff; }.pp-section-heading { align-items: end; display: flex; gap: 34px; justify-content: space-between; margin-bottom: 42px; }.pp-section-heading h2 { margin-bottom: 0; max-width: 720px; }.pp-section-heading > p { color: var(--color-body, #6d6763); font-size: 16px; line-height: 1.65; margin: 0 0 4px; max-width: 380px; }.pp-section-heading-compact { margin-bottom: 31px; }.pp-timeline { margin: 0 auto; max-width: 1030px; position: relative; }.pp-timeline:before { background: linear-gradient(to bottom, var(--color-brand, #f4512c), rgba(244,81,44,.09)); content: ''; left: 166px; position: absolute; top: 13px; bottom: 10px; width: 1px; }.pp-timeline-item { display: grid; gap: 28px; grid-template-columns: 138px 1fr; padding-bottom: 30px; position: relative; }.pp-timeline-item:last-child { padding-bottom: 0; }.pp-timeline-marker { background: var(--color-brand, #f4512c); border: 5px solid #fff; border-radius: 50%; box-shadow: 0 0 0 1px rgba(244,81,44,.28); height: 15px; left: 159px; position: absolute; top: 11px; width: 15px; }.pp-timeline-date { color: var(--color-muted, #958d88); font-size: 12px; font-weight: 800; letter-spacing: .03em; line-height: 1.45; padding-top: 8px; text-align: right; text-transform: uppercase; }.pp-timeline-date span { color: var(--color-brand, #f4512c); padding: 0 2px; }.pp-timeline-card { border-bottom: 1px solid var(--color-border-soft, #eee7e3); padding: 0 0 30px 28px; }.pp-timeline-item:last-child .pp-timeline-card { border: 0; padding-bottom: 0; }.pp-entry-heading { align-items: flex-start; display: flex; gap: 16px; justify-content: space-between; }.pp-entry-heading h3 { color: var(--color-heading, #201d1c); font-size: 24px; letter-spacing: -.045em; line-height: 1.1; margin: 0 0 6px; }.pp-entry-heading > div > span, .pp-entry-heading > div > a { color: var(--color-brand, #f4512c); font-size: 14px; font-weight: 750; text-decoration: none; }.pp-entry-heading > div > a:hover { text-decoration: underline; }.pp-entry-heading a i { font-size: 12px; }.pp-entry-meta { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; }.pp-entry-meta span { background: var(--color-surface-soft, #fbf9f8); border-radius: 999px; color: var(--color-body, #6d6763); font-size: 10px; font-weight: 800; padding: 6px 8px; text-transform: capitalize; white-space: nowrap; }.pp-entry-description { color: var(--color-body, #6d6763); font-size: 15px; line-height: 1.68; margin: 18px 0 0; white-space: pre-line; }.pp-achievements { margin-top: 18px; }.pp-achievements h4 { color: var(--color-heading, #201d1c); font-size: 12px; font-weight: 800; letter-spacing: .06em; margin: 0 0 8px; text-transform: uppercase; }.pp-achievements ul { display: grid; gap: 7px; list-style: none; margin: 0; padding: 0; }.pp-achievements li { color: var(--color-body, #6d6763); font-size: 14px; line-height: 1.5; padding-left: 18px; position: relative; }.pp-achievements li:before { color: var(--color-brand, #f4512c); content: '•'; font-size: 18px; left: 1px; line-height: 1; position: absolute; top: 1px; }.pp-related-work { align-items: center; display: flex; flex-wrap: wrap; gap: 7px; margin-top: 20px; }.pp-related-work > span { color: var(--color-muted, #958d88); font-size: 11px; font-weight: 800; letter-spacing: .07em; margin-right: 4px; text-transform: uppercase; }.pp-related-work a { background: var(--color-brand-soft, #fff0eb); border-radius: 8px; color: var(--color-brand, #f4512c); font-size: 12px; font-weight: 750; padding: 7px 9px; text-decoration: none; }.pp-related-work a:hover { background: var(--color-brand, #f4512c); color: #fff; }
.pp-skills-section { background: var(--color-surface-soft, #fbf9f8); }.pp-skill-groups { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); }.pp-skill-group { background: #fff; border: 1px solid var(--color-border-soft, #eee7e3); border-radius: 17px; box-shadow: 0 10px 26px rgba(30,23,20,.035); overflow: hidden; transition: box-shadow .2s, transform .2s; }.pp-skill-group:hover { box-shadow: 0 16px 34px rgba(30,23,20,.08); transform: translateY(-2px); }.pp-skill-group > h3 { background: linear-gradient(90deg, var(--color-brand-soft, #fff0eb), #fff); border-bottom: 1px solid var(--color-border-soft, #eee7e3); box-shadow: inset 4px 0 0 var(--color-brand, #f4512c); color: var(--color-heading, #201d1c); font-size: 16px; font-weight: 800; letter-spacing: -.02em; margin: 0; padding: 12px 20px; }.pp-skill-list { padding: 2px 20px; }.pp-skill-item { align-items: flex-start; display: flex; gap: 12px; justify-content: space-between; padding: 16px 0; }.pp-skill-item + .pp-skill-item { border-top: 1px solid var(--color-border-soft, #eee7e3); }.pp-skill-item h4 { color: var(--color-heading, #201d1c); font-size: 15px; margin: 0; }.pp-skill-item p { color: var(--color-body, #6d6763); font-size: 13px; line-height: 1.45; margin: 4px 0 0; }.pp-skill-evidence { flex: 0 0 auto; text-align: right; }.pp-skill-evidence span, .pp-skill-evidence small { display: block; }.pp-skill-evidence span { color: var(--color-brand, #f4512c); font-size: 11px; font-weight: 800; }.pp-skill-evidence small { color: var(--color-muted, #958d88); font-size: 10px; font-weight: 700; margin-top: 3px; text-transform: uppercase; }
.pp-work-section { background: #fff; }.pp-work-grid { display: grid; gap: 20px; grid-template-columns: repeat(3, minmax(0, 1fr)); }.pp-work-card { background: #fff; border: 1px solid var(--color-border-soft, #eee7e3); border-radius: 18px; overflow: hidden; transition: box-shadow .25s, transform .25s; }.pp-work-card:hover { box-shadow: 0 20px 45px rgba(30,23,20,.1); transform: translateY(-4px); }.pp-work-image { background: #241f1d; display: block; height: 215px; overflow: hidden; position: relative; }.pp-work-image img { height: 100%; object-fit: cover; transition: transform .4s; width: 100%; }.pp-work-card:hover .pp-work-image img { transform: scale(1.055); }.pp-work-image > div { align-items: center; background: linear-gradient(135deg, #251f1d, #7e3324 70%, #f4512c); color: #fff; display: flex; font-size: 47px; height: 100%; justify-content: center; }.pp-work-image > span { background: rgba(26,22,21,.8); border: 1px solid rgba(255,255,255,.12); border-radius: 999px; color: #fff; font-size: 10px; font-weight: 800; left: 14px; letter-spacing: .06em; padding: 6px 9px; position: absolute; text-transform: uppercase; top: 14px; }.pp-work-body { padding: 21px; }.pp-work-stack { color: var(--color-brand, #f4512c); font-size: 11px; font-weight: 800; letter-spacing: .055em; line-height: 1.45; margin: 0; text-transform: uppercase; }.pp-work-body h3 { font-size: 24px; letter-spacing: -.045em; line-height: 1.1; margin: 10px 0; }.pp-work-body h3 a { color: var(--color-heading, #201d1c); text-decoration: none; }.pp-work-body h3 a:hover { color: var(--color-brand, #f4512c); }.pp-work-body > p:not(.pp-work-stack) { color: var(--color-body, #6d6763); font-size: 14px; line-height: 1.62; margin: 0; }.pp-text-link { align-items: center; color: var(--color-heading, #201d1c); display: inline-flex; font-size: 13px; font-weight: 800; gap: 7px; margin-top: 18px; text-decoration: none; }.pp-text-link:hover { color: var(--color-brand, #f4512c); }.pp-text-link i { transition: transform .2s; }.pp-text-link:hover i { transform: translateX(3px); }
.pp-credentials-section { background: var(--color-surface-soft, #fbf9f8); }.pp-credential-groups { display: grid; gap: 20px; }.pp-credential-group { background: #fff; border: 1px solid var(--color-border-soft, #eee7e3); border-radius: 17px; box-shadow: 0 10px 26px rgba(30,23,20,.035); overflow: hidden; transition: box-shadow .2s, transform .2s; }.pp-credential-group:hover { box-shadow: 0 16px 34px rgba(30,23,20,.08); transform: translateY(-2px); }.pp-credential-group > h3 { align-items: center; background: linear-gradient(90deg, var(--color-brand-soft, #fff0eb), #fff); border-bottom: 1px solid var(--color-border-soft, #eee7e3); box-shadow: inset 4px 0 0 var(--color-brand, #f4512c); color: var(--color-heading, #201d1c); display: flex; font-size: 16px; font-weight: 800; gap: 9px; letter-spacing: -.02em; margin: 0; padding: 13px 20px; }.pp-credential-group > h3 i { color: var(--color-brand, #f4512c); font-size: 18px; }.pp-credential-list { padding: 2px 20px; }.pp-credential-item { display: grid; gap: 18px; grid-template-columns: 72px minmax(0, 1fr); padding: 18px 0; }.pp-credential-item + .pp-credential-item { border-top: 1px solid var(--color-border-soft, #eee7e3); }.pp-credential-date { color: var(--color-brand, #f4512c); font-size: 11px; font-weight: 800; letter-spacing: .04em; padding-top: 3px; text-transform: uppercase; }.pp-credential-item h4 { color: var(--color-heading, #201d1c); font-size: 16px; letter-spacing: -.02em; margin: 0 0 5px; }.pp-credential-organization, .pp-credential-detail, .pp-credential-description { color: var(--color-body, #6d6763); font-size: 13px; line-height: 1.5; margin: 0; }.pp-credential-organization { font-weight: 700; }.pp-credential-organization a { color: var(--color-brand, #f4512c); text-decoration: none; }.pp-credential-organization a:hover { text-decoration: underline; }.pp-credential-detail { color: var(--color-muted, #958d88); font-size: 12px; margin-top: 4px; }.pp-credential-description { margin-top: 9px; max-width: 900px; white-space: pre-line; }.pp-evidence-actions { display: flex; flex-wrap: wrap; gap: 10px; }.pp-evidence-link { align-items: center; color: var(--color-brand, #f4512c); display: inline-flex; font-size: 12px; font-weight: 800; gap: 5px; margin-top: 10px; text-decoration: none; }.pp-evidence-link:hover { color: #cb3b1b; text-decoration: underline; }
.pp-certifications-section { background: #fff; }.pp-certification-grid { display: grid; gap: 22px; grid-template-columns: repeat(2, minmax(0, 1fr)); }.pp-certification-card { background: #fff; border: 1px solid var(--color-border-soft, #eee7e3); border-radius: 18px; box-shadow: 0 10px 26px rgba(30,23,20,.04); overflow: hidden; transition: box-shadow .25s, transform .25s; }.pp-certification-card:hover { box-shadow: 0 18px 40px rgba(30,23,20,.1); transform: translateY(-3px); }.pp-certificate-preview { background: linear-gradient(135deg, var(--color-brand-soft, #fff0eb), #fff 58%, #fff8f5); border-bottom: 1px solid var(--color-border-soft, #eee7e3); min-height: 218px; padding: 28px 31px; position: relative; }.pp-certificate-preview:before, .pp-certificate-preview:after { border: 1px solid rgba(244,81,44,.18); content: ''; pointer-events: none; position: absolute; }.pp-certificate-preview:before { inset: 12px; }.pp-certificate-preview:after { border-left: 0; border-top: 0; bottom: 24px; height: 34px; right: 24px; width: 34px; }.pp-certificate-preview > span, .pp-certificate-preview > strong, .pp-certificate-preview h3, .pp-certificate-preview small { display: block; position: relative; z-index: 1; }.pp-certificate-preview > span { color: var(--color-brand, #f4512c); font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }.pp-certificate-preview > strong { color: var(--color-heading, #201d1c); font-size: 17px; letter-spacing: -.03em; margin-top: 27px; }.pp-certificate-preview h3 { color: var(--color-heading, #201d1c); font-size: 22px; letter-spacing: -.045em; line-height: 1.15; margin: 9px 0 0; max-width: 80%; }.pp-certificate-preview small { color: var(--color-muted, #958d88); font-size: 11px; font-weight: 750; margin-top: 21px; }.pp-certificate-seal { align-items: center; background: var(--color-brand, #f4512c); border: 5px solid rgba(255,255,255,.92); border-radius: 50%; box-shadow: 0 6px 16px rgba(244,81,44,.24); color: #fff; display: flex; font-size: 22px; height: 54px; justify-content: center; position: absolute; right: 29px; top: 27px; width: 54px; z-index: 1; }.pp-certification-body { display: flex; flex-direction: column; gap: 18px; min-height: 190px; padding: 22px 24px 23px; }.pp-certification-issuer { color: var(--color-brand, #f4512c); font-size: 11px; font-weight: 800; letter-spacing: .07em; margin: 0; text-transform: uppercase; }.pp-certification-body h3 { color: var(--color-heading, #201d1c); font-size: 19px; letter-spacing: -.035em; line-height: 1.2; margin: 7px 0 0; }.pp-certification-id { color: var(--color-muted, #958d88); font-size: 12px; line-height: 1.45; margin: 8px 0 0; }.pp-certification-description { color: var(--color-body, #6d6763); font-size: 13px; line-height: 1.55; margin: 10px 0 0; white-space: pre-line; }.pp-certification-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; }.pp-certificate-action { align-items: center; border: 1px solid rgba(244,81,44,.2); border-radius: 8px; color: var(--color-brand, #f4512c); display: inline-flex; font-size: 12px; font-weight: 800; gap: 7px; padding: 8px 10px; text-decoration: none; }.pp-certificate-action:hover { background: var(--color-brand, #f4512c); border-color: var(--color-brand, #f4512c); color: #fff; }
.pp-beyond-section { background: #fff; }.pp-beyond-grid { display: grid; gap: 20px; grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr); }.pp-highlights-card, .pp-personal-card { border: 1px solid var(--color-border-soft, #eee7e3); border-radius: 18px; padding: 25px; }.pp-highlights-card > h3, .pp-personal-card h3 { color: var(--color-heading, #201d1c); font-size: 18px; letter-spacing: -.03em; margin: 0; }.pp-highlights-card article { border-top: 1px solid var(--color-border-soft, #eee7e3); padding: 17px 0; }.pp-highlights-card article:first-child { margin-top: 16px; }.pp-highlights-card article:last-child { padding-bottom: 0; }.pp-highlights-card article > span { color: var(--color-brand, #f4512c); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }.pp-highlights-card h4 { font-size: 15px; margin: 5px 0 3px; }.pp-highlights-card h4 a { color: var(--color-heading, #201d1c); text-decoration: none; }.pp-highlights-card h4 a:hover { color: var(--color-brand, #f4512c); }.pp-highlights-card p, .pp-highlights-card small { color: var(--color-muted, #958d88); display: block; font-size: 12px; line-height: 1.45; margin: 0; }.pp-highlights-card small { color: var(--color-body, #6d6763); margin-top: 7px; }.pp-personal-card { background: var(--color-surface-soft, #fbf9f8); }.pp-personal-card > div + div { border-top: 1px solid var(--color-border-soft, #eee7e3); margin-top: 21px; padding-top: 21px; }.pp-personal-card h3 { align-items: center; display: flex; font-size: 16px; gap: 7px; }.pp-personal-card h3 i { color: var(--color-brand, #f4512c); }.pp-personal-card ul { display: grid; gap: 9px; list-style: none; margin: 14px 0 0; padding: 0; }.pp-personal-card li { align-items: baseline; display: flex; gap: 11px; justify-content: space-between; }.pp-personal-card li strong { color: var(--color-heading, #201d1c); font-size: 13px; }.pp-personal-card li span { color: var(--color-muted, #958d88); font-size: 11px; text-align: right; }.pp-interest-list { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 14px; }.pp-interest-list > span { background: #fff; border: 1px solid var(--color-border-soft, #eee7e3); border-radius: 8px; color: var(--color-heading, #201d1c); font-size: 12px; font-weight: 700; padding: 7px 9px; }.pp-interest-list small { color: var(--color-muted, #958d88); font-size: 10px; font-weight: 600; margin-left: 4px; }
.pp-writing-section { background: var(--color-surface-soft, #fbf9f8); }.pp-writing-panel { background: #fff; border: 1px solid var(--color-border-soft, #eee7e3); border-radius: 22px; display: grid; gap: 50px; grid-template-columns: minmax(280px, .7fr) minmax(0, 1fr); padding: clamp(28px, 5vw, 53px); }.pp-writing-intro h2 { font-size: clamp(31px, 3.6vw, 45px); margin-top: 12px; }.pp-writing-intro > p:not(.pp-eyebrow) { color: var(--color-body, #6d6763); font-size: 15px; line-height: 1.65; margin: 0; }.pp-writing-list { display: grid; }.pp-writing-list a { align-items: center; border-bottom: 1px solid var(--color-border-soft, #eee7e3); color: var(--color-heading, #201d1c); display: grid; gap: 7px 15px; grid-template-columns: 95px minmax(0, 1fr) auto; padding: 16px 0; text-decoration: none; }.pp-writing-list a:first-child { border-top: 1px solid var(--color-border-soft, #eee7e3); }.pp-writing-list a:hover strong, .pp-writing-list a:hover i { color: var(--color-brand, #f4512c); }.pp-writing-list span { color: var(--color-brand, #f4512c); font-size: 10px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }.pp-writing-list strong { font-size: 15px; line-height: 1.35; transition: color .2s; }.pp-writing-list i { font-size: 16px; transition: color .2s; }
.pp-contact-section { background: #201d1c; padding: 80px 0; }.pp-contact-panel { align-items: center; color: #fff; display: flex; gap: 40px; justify-content: space-between; }.pp-contact-panel .pp-eyebrow { color: #ffb5a3; }.pp-contact-panel h2 { color: #fff; font-size: clamp(35px, 4.6vw, 56px); margin-bottom: 14px; max-width: 790px; }.pp-contact-panel p:not(.pp-eyebrow) { color: rgba(255,255,255,.72); font-size: 16px; line-height: 1.6; margin: 0; max-width: 650px; }.pp-contact-actions { align-items: stretch; display: flex; flex: 0 0 auto; flex-direction: column; gap: 10px; min-width: 220px; }.pp-button-light { background: #fff; color: #201d1c; }.pp-button-light:hover { box-shadow: 0 13px 25px rgba(0,0,0,.2); color: #201d1c; }.pp-button-ghost { border: 1px solid rgba(255,255,255,.25); color: #fff; }.pp-button-ghost:hover { background: rgba(255,255,255,.1); color: #fff; }.pp-social-links { display: flex; gap: 7px; margin-top: 6px; }.pp-social-links a { align-items: center; border: 1px solid rgba(255,255,255,.2); border-radius: 8px; color: #fff; display: inline-flex; font-size: 15px; height: 35px; justify-content: center; text-decoration: none; width: 35px; }.pp-social-links a:hover { background: var(--color-brand, #f4512c); border-color: var(--color-brand, #f4512c); color: #fff; }
.professional-portfolio-hero a:focus-visible, .professional-portfolio-section a:focus-visible, .pp-contact-section a:focus-visible, .pp-section-nav a:focus-visible { outline: 3px solid var(--color-brand, #f4512c); outline-offset: 3px; }

@media (max-width: 991px) { .professional-portfolio-hero { padding: 68px 0; }.pp-hero-grid { gap: 45px; grid-template-columns: minmax(0, 1fr) 300px; }.pp-profile-initials { font-size: 56px; }.pp-timeline:before { left: 129px; }.pp-timeline-marker { left: 122px; }.pp-timeline-item { gap: 26px; grid-template-columns: 104px 1fr; }.pp-timeline-card { padding-left: 25px; }.pp-work-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.pp-work-card:first-child { grid-column: span 2; }.pp-work-card:first-child .pp-work-image { height: 270px; }.pp-writing-panel { gap: 32px; }.pp-contact-panel { align-items: flex-start; flex-direction: column; }.pp-contact-actions { width: min(100%, 350px); } }
@media (max-width: 767px) { .professional-portfolio-hero { padding: 56px 0 48px; }.pp-hero-grid, .pp-two-column, .pp-beyond-grid, .pp-writing-panel { grid-template-columns: 1fr; }.pp-hero-copy { transform: none; }.pp-hero-copy h1 { font-size: clamp(43px, 13vw, 61px); }.pp-summary { font-size: 16px; }.pp-hero-profile { margin: 0 auto; max-width: 420px; width: 100%; }.pp-section-nav a { padding: 13px 12px; }.professional-portfolio-section { padding: 62px 0; }.pp-section-heading { align-items: start; flex-direction: column; gap: 13px; margin-bottom: 29px; }.pp-section-heading > p { font-size: 15px; }.pp-skill-groups { grid-template-columns: 1fr; }.pp-work-grid { grid-template-columns: 1fr; }.pp-work-card:first-child { grid-column: auto; }.pp-work-card:first-child .pp-work-image, .pp-work-image { height: 220px; }.pp-writing-panel { gap: 26px; }.pp-writing-list a { grid-template-columns: 78px minmax(0, 1fr) auto; }.pp-contact-section { padding: 60px 0; } }
@media (max-width: 560px) { .pp-hero-actions { align-items: stretch; flex-direction: column; }.pp-hero-actions .pp-button { width: 100%; }.pp-identity-list { align-items: flex-start; flex-direction: column; gap: 8px; }.pp-timeline:before { left: 7px; top: 38px; }.pp-timeline-item { display: block; padding-left: 29px; }.pp-timeline-marker { left: 0; top: 31px; }.pp-timeline-date { padding: 0 0 11px; text-align: left; }.pp-timeline-card { padding: 0 0 27px; }.pp-entry-heading { display: block; }.pp-entry-meta { justify-content: flex-start; margin-top: 12px; }.pp-related-work { align-items: flex-start; flex-direction: column; }.pp-related-work > span { margin-bottom: 2px; }.pp-credential-item { gap: 12px; grid-template-columns: 43px minmax(0, 1fr); }.pp-credential-date { font-size: 11px; }.pp-personal-card li { align-items: flex-start; flex-direction: column; gap: 2px; }.pp-personal-card li span { text-align: left; }.pp-writing-list a { gap: 5px 8px; grid-template-columns: 1fr auto; }.pp-writing-list span { grid-column: 1 / -1; }.pp-writing-list strong { font-size: 14px; }.pp-contact-panel h2 { font-size: 37px; } }
@media (max-width: 767px) { .pp-certification-grid { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .pp-certificate-preview { min-height: 198px; padding: 25px; }.pp-certificate-preview h3 { font-size: 20px; }.pp-certificate-seal { right: 25px; top: 24px; }.pp-certification-body { min-height: 0; padding: 20px; } }
