.print-link {
  padding: 0 0 3px;
  border: 0;
  border-bottom: 1px solid var(--ink);
  background: transparent;
  color: var(--ink);
  font-size: 13px;
  cursor: pointer;
}
.print-link:hover { color: var(--accent-dark); border-color: var(--accent-dark); }

.profile-intro { padding-top: 104px; }
.profile-intro h1 { margin-bottom: 18px; font-size: clamp(64px, 8vw, 108px); }
.profile-role { margin-bottom: 32px; color: var(--accent-dark); font-size: 17px; font-weight: 600; }
.profile-lead { max-width: 900px; margin-bottom: 34px; color: var(--muted); font-size: clamp(21px, 2.5vw, 29px); letter-spacing: -.02em; line-height: 1.55; }
.profile-actions { display: flex; align-items: center; gap: 28px; }
.profile-actions > a:not(.primary-button) { color: var(--accent-dark); font-size: 14px; font-weight: 600; text-underline-offset: 5px; }
.profile-location { margin: 52px 0 0; padding-top: 18px; border-top: 1px solid var(--line); color: var(--muted); font-size: 13px; }

.section-heading { display: grid; grid-template-columns: .65fr 1.35fr; gap: 64px; margin-bottom: 52px; }
.section-heading-single { display: block; margin-bottom: 28px; }
.section-heading h2 { max-width: 700px; margin-bottom: 0; font-size: clamp(38px, 4.2vw, 56px); font-weight: 600; letter-spacing: -.045em; line-height: 1.06; }
.impact { width: 100%; padding-right: max(24px, calc((100vw - var(--max)) / 2)); padding-left: max(24px, calc((100vw - var(--max)) / 2)); background: var(--soft); }
.impact-ledger { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--ink); border-left: 1px solid var(--line); }
.impact-ledger article { min-height: 250px; padding: 30px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--white); }
.impact-ledger strong, .impact-ledger span { display: block; }
.impact-ledger strong { margin-bottom: 10px; font-size: clamp(32px, 3.6vw, 46px); font-weight: 600; letter-spacing: -.05em; line-height: 1; }
.impact-ledger span { color: var(--accent-dark); font-size: 12px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.impact-ledger p { margin: 54px 0 0; color: var(--muted); font-size: 15px; line-height: 1.55; }

.technical-ledger { border-top: 1px solid var(--ink); }
.technical-domain { display: grid; grid-template-columns: minmax(250px, .72fr) 1.28fr; gap: 70px; padding: 42px 0; border-bottom: 1px solid var(--line); }
.technical-domain-heading span { display: block; margin-bottom: 18px; color: var(--accent-dark); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 11px; font-weight: 600; }
.technical-domain-heading h3 { max-width: 280px; margin: 0; font-size: 25px; font-weight: 600; letter-spacing: -.035em; line-height: 1.2; }
.technical-domain-detail > p { margin: 0 0 24px; color: var(--ink); font-size: 17px; line-height: 1.65; }
.technical-domain-detail ul { margin: 0; padding-left: 20px; }
.technical-domain-detail li { color: var(--muted); font-size: 15px; line-height: 1.7; }
.technical-domain-detail li + li { margin-top: 12px; }
.technical-domain-detail li strong { color: var(--ink); font-weight: 600; }
.technology-line { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 26px; }
.technology-line span { padding: 6px 9px; border: 1px solid var(--line); color: var(--muted); font-size: 11px; font-weight: 500; }
.technical-principle { max-width: 900px; margin: 38px 0 0 auto; padding-left: 20px; border-left: 2px solid var(--accent); color: var(--muted); font-size: 16px; line-height: 1.7; }
.technical-principle strong { color: var(--ink); font-weight: 600; }

.career { border-top: 1px solid var(--ink); }
.role { display: grid; grid-template-columns: minmax(250px, .72fr) 1.28fr; gap: 70px; padding: 42px 0; border-bottom: 1px solid var(--line); }
.role-meta h3 { margin-bottom: 8px; font-size: 25px; font-weight: 600; letter-spacing: -.035em; }
.role-meta p { margin-bottom: 18px; color: var(--ink); font-size: 15px; font-weight: 500; line-height: 1.5; }
.role-meta span { color: var(--muted); font-size: 12px; line-height: 1.7; }
.role-detail ul { margin: 0; padding-left: 20px; }
.role-detail li, .role-detail > p { color: var(--muted); font-size: 16px; line-height: 1.7; }
.role-detail li + li { margin-top: 13px; }
.compact-role { padding-top: 32px; padding-bottom: 32px; }
.compact-role .role-detail p { margin-bottom: 0; }

.strengths { display: grid; grid-template-columns: .65fr 1.35fr; column-gap: 64px; }
.strengths .section-heading { display: block; margin: 0; }
.strengths .section-heading h2 { font-size: clamp(38px, 4vw, 52px); }
.strength-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0 36px; margin: 0; padding: 0; border-top: 1px solid var(--ink); list-style: none; }
.strength-list li { padding: 19px 0; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 14px; line-height: 1.45; }
.education { grid-column: 2; display: flex; flex-direction: column; gap: 8px; margin-top: 48px; }
.education span { color: var(--accent-dark); font-size: 10px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.education strong { font-size: 16px; font-weight: 600; }

.profile-contact { width: 100%; padding-right: max(24px, calc((100vw - var(--max)) / 2)); padding-left: max(24px, calc((100vw - var(--max)) / 2)); background: var(--ink); color: var(--white); }
.profile-contact .label { color: #82c8c1; }
.profile-contact h2 { max-width: 850px; margin-bottom: 26px; font-size: clamp(46px, 5.4vw, 68px); font-weight: 600; letter-spacing: -.05em; line-height: 1.02; }
.profile-contact > p:not(.label) { max-width: 700px; margin-bottom: 34px; color: #bac1ca; font-size: 18px; line-height: 1.65; }
.profile-contact .primary-button { background: var(--white); color: var(--ink); }
.profile-contact .primary-button:hover { background: #dceae8; }
.profile-page footer a { text-underline-offset: 3px; }

@media (max-width: 800px) {
  .section-heading, .strengths { grid-template-columns: 1fr; gap: 30px; }
  .impact-ledger { grid-template-columns: 1fr; }
  .impact-ledger article { min-height: auto; }
  .impact-ledger p { margin-top: 30px; }
  .role, .technical-domain { grid-template-columns: 1fr; gap: 26px; }
  .technical-domain-heading h3 { max-width: none; }
  .strength-list, .education { grid-column: 1; }
}

@media (max-width: 560px) {
  .profile-page .header-actions .print-link { display: none; }
  .profile-intro { padding-top: 76px; }
  .profile-intro h1 { font-size: 56px; }
  .profile-role { font-size: 15px; line-height: 1.5; }
  .profile-lead { font-size: 21px; }
  .profile-actions { align-items: flex-start; flex-direction: column; }
  .profile-location { line-height: 1.6; }
  .impact { padding: 76px 20px; }
  .impact-ledger article { padding: 24px; }
  .technical-domain { padding: 32px 0; }
  .technical-domain-detail > p { font-size: 16px; }
  .section-heading { margin-bottom: 38px; }
  .strength-list { grid-template-columns: 1fr; }
  .profile-contact { padding: 76px 20px; }
  .profile-contact h2 { font-size: 43px; }
}

@media print {
  @page { size: A4; margin: 13mm 15mm; }
  .profile-page { color: #111; font-size: 10pt; }
  .profile-page header, .profile-page footer, .profile-actions, .profile-contact { display: none; }
  .profile-page section, .impact { width: 100%; padding: 18px 0; border-color: #bbb; background: #fff; }
  .profile-intro { padding-top: 0; }
  .profile-intro .label { display: none; }
  .profile-intro h1 { margin-bottom: 5px; font-size: 30pt; }
  .profile-role { margin-bottom: 10px; font-size: 10pt; }
  .profile-lead { max-width: none; margin-bottom: 0; color: #333; font-size: 11pt; line-height: 1.4; }
  .profile-location { margin-top: 12px; padding-top: 8px; }
  .section-heading { display: block; margin-bottom: 12px; }
  .section-heading .label { margin-bottom: 5px; }
  .section-heading h2 { font-size: 17pt; }
  .impact-ledger { grid-template-columns: repeat(3, 1fr); }
  .impact-ledger article { min-height: 0; padding: 12px; }
  .impact-ledger strong { font-size: 18pt; }
  .impact-ledger span { font-size: 7pt; }
  .impact-ledger p { margin-top: 12px; font-size: 8pt; }
  .technical-depth { padding-bottom: 12px; }
  .technical-depth .section-heading { margin-bottom: 8px; }
  .technical-ledger { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
  .technical-domain { display: block; padding: 10px 0; break-inside: avoid; }
  .technical-domain-heading { display: flex; align-items: baseline; gap: 7px; margin-bottom: 5px; }
  .technical-domain-heading span { margin: 0; font-size: 6.5pt; }
  .technical-domain-heading h3 { font-size: 11pt; }
  .technical-domain-detail > p, .technical-domain-detail li { font-size: 7pt; line-height: 1.3; }
  .technical-domain-detail > p { margin-bottom: 5px; }
  .technical-domain-detail ul { padding-left: 14px; }
  .technical-domain-detail li + li { margin-top: 3px; }
  .technology-line { display: none; }
  .technical-principle { grid-column: 1 / -1; margin-top: 8px; padding-left: 10px; font-size: 7pt; line-height: 1.35; }
  .experience { break-before: page; }
  .role { grid-template-columns: 31% 1fr; gap: 18px; padding: 9px 0; break-inside: avoid; }
  .role-meta h3 { font-size: 13pt; }
  .role-meta p, .role-detail li, .role-detail > p { font-size: 9pt; line-height: 1.4; }
  .role-meta p { margin-bottom: 7px; }
  .role-detail li + li { margin-top: 5px; }
  .strengths { display: grid; grid-template-columns: 31% 1fr; gap: 22px; }
  .strengths .section-heading h2 { font-size: 17pt; }
  .strength-list { grid-template-columns: 1fr 1fr; }
  .strength-list li { padding: 7px 0; font-size: 8pt; }
  .education { grid-column: 2; margin-top: 14px; }
}
