@font-face { font-family:'Space Grotesk'; src:url('fonts/space-grotesk.woff2') format('woff2'); font-style:normal; font-weight:300 700; font-display:swap; }
@font-face {
  font-family: Newsreader; src:url('fonts/newsreader-regular.woff2') format('woff2');
  font-weight:400; font-style:normal; font-display:swap;
}
@font-face {
  font-family: Newsreader; src:url('fonts/newsreader-italic.woff2') format('woff2');
  font-weight:400; font-style:italic; font-display:swap;
}
:root {
  --paper: #f6f0e6;
  --ink: #432f25;
  --muted: #432f25;
  --line: #c9c6c0;
  --image: #eae7e2;
  --accent: #432f25;
  --portrait: #eae7e2;
  --serif: 'SFT Schrifted Serif', Georgia, 'Times New Roman', serif;
  --sans: 'Space Grotesk', Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-padding-top: 28px; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); font-optical-sizing:auto; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; cursor: pointer; }
button, a { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
button:focus-visible, a:focus-visible { outline: 2px solid var(--ink); outline-offset: 6px; }
::selection { background: #e2e0d6; color: var(--ink); }
h1, h2, h3, p, figure, dl, dd { margin: 0; }
h1, h2, h3 { font-weight: 400; }
p { line-height: 1.65; }
img { display: block; max-width: 100%; }
svg { display: block; width: 24px; height: 24px; }
[hidden] { display: none !important; }
.wrap { width: min(1320px, calc(100% - 112px)); margin-inline: auto; }
.eyebrow { font-size: 11px; color: var(--muted); line-height: 1.6; }
.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: absolute; top: -80px; left: 20px; background: var(--ink); color: var(--paper); padding: 12px 18px; z-index: 20; }
.skip-link:focus { top: 12px; }

.site-header { min-height: 104px; display: flex; align-items: center; gap: 40px; border-bottom: 1px solid var(--line); }
.wordmark { font-family: var(--serif); font-size: 36px; letter-spacing: -1.9px; line-height: 1; }
.site-header nav { margin-left: auto; display: flex; gap: 32px; align-items: center; font-size: 13px; }
.site-header nav a { display: flex; align-items: center; min-height: 44px; }
.site-header nav a:hover, .back-link:hover { text-decoration: underline; text-underline-offset: 5px; }
.draft-label { font-size: 10px; color: var(--muted); }

.hero-layout { display: grid; grid-template-columns: minmax(0, 1fr) 310px; align-items: end; gap: 50px; padding: 72px 0 68px; }
.hero h1 { font-family: var(--serif); font-size: clamp(68px, 7.8vw, 112px); letter-spacing: -.065em; line-height: 1.08; }
.hero-aside { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; padding-bottom: 5px; }
.hero-aside > p { font-size: 19px; line-height: 1.55; }
.text-link { font-size: 12px; min-height: 44px; display: inline-flex; align-items: center; text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 1px; }

.works { padding: 24px 0 85px; }
.section-heading { margin-bottom: 20px; }
.section-heading h2 { font-size: 14px; line-height: 1.5; }
.filters { display: flex; align-items: center; gap: 25px; flex-wrap: wrap; margin-bottom: 26px; }
.filter-button { border: 0; border-bottom: 1px solid transparent; padding: 8px 0; background: transparent; color: var(--muted); font-size: 12px; display: flex; gap: 8px; align-items: center; min-height: 44px; }
.filter-button:hover, .filter-button.is-active { color: var(--ink); border-bottom-color: var(--ink); }
.project-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 42px 28px; }
.project-card { min-width: 0; }
.card-image { overflow: hidden; }
.card-info { padding-top: 16px; }
.card-info h3 { font-family: var(--serif); font-size: 28px; letter-spacing: -.025em; line-height: 1.2; }
.card-info > span { display: block; font-size: 11px; line-height: 1.5; color: var(--muted); margin-top: 7px; }
.project-card:hover h3 { text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 1px; }

.placeholder { position: relative; aspect-ratio: var(--figure-ratio, 4 / 3); overflow: hidden; background: var(--image); color: var(--muted); display: grid; place-items: center; min-width: 0; padding: 24px; }
.placeholder figcaption { display: flex; flex-direction: column; gap: 9px; text-align: center; }
.placeholder-label { font-size: 10px; letter-spacing: .035em; }
.placeholder-title { font-size: 15px; line-height: 1.4; }
.work-image img { width: 100%; height: auto; }
.work-image figcaption { font-size: 11px; color: var(--muted); margin-top: 12px; }

.about, .contact { border-top: 1px solid var(--line); padding-block: 60px; }
.about-grid, .contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; }
.about h2, .contact h2 { font-family: var(--serif); font-size: 44px; letter-spacing: -.04em; line-height: 1.15; }
.about-copy, .contact-grid > div { max-width: 480px; }
.about-copy .large-copy { font-family: var(--serif); font-size: 27px; line-height: 1.45; letter-spacing: -.02em; margin-bottom: 22px; }
.about-copy > p:not(.large-copy) { font-size: 14px; line-height: 1.8; }
.about-copy .text-placeholder { margin-top: 24px; color: var(--muted); font-size: 12px; }
.pending-link { display: block; font-size: 12px; color: var(--muted); margin-top: 18px; }
.contact-grid > div > p:first-child { font-size: 16px; line-height: 1.65; }
.contact-placeholder { color: var(--muted); font-size: 12px; margin-top: 24px; }
.site-footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid var(--line); padding: 20px 0; font-size: 10px; color: var(--muted); }
.site-footer > a { min-height: 44px; display: flex; align-items: center; }

.project-intro { padding-top: 28px; }
.back-link { font-size: 12px; display: inline-flex; align-items: center; min-height: 44px; }
.project-title { font-family: var(--serif); font-size: clamp(60px, 8vw, 112px); line-height: 1.08; letter-spacing: -.055em; margin-top: 32px; max-width: 1100px; overflow-wrap: break-word; }
.project-title.long-title { font-size: clamp(54px, 7vw, 100px); max-width: 950px; }
.project-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; border-top: 1px solid var(--line); margin-top: 32px; padding: 20px 0 30px; }
.project-meta dt { font-size: 10px; color: var(--muted); margin-bottom: 8px; }
.project-meta dd { font-size: 13px; line-height: 1.5; }
.pending-text { color: var(--muted); }
.project-cover { aspect-ratio: 16 / 9; }
.project-lead { max-width: 760px; margin: 48px 0 58px auto; }
.project-lead > p { font-family: var(--serif); font-size: 27px; line-height: 1.5; letter-spacing: -.02em; }
.project-section { padding-block: 42px 30px; }
.project-section-copy { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; margin-bottom: 30px; }
.project-section h2 { font-family: var(--serif); font-size: 35px; line-height: 1.2; letter-spacing: -.03em; max-width: 470px; }
.project-section-copy > div > p { font-size: 14px; line-height: 1.8; }
.project-section-copy > div > .inline-placeholder { color: var(--muted); font-size: 12px; }
.project-section-copy > div > p + .inline-placeholder { margin-top: 18px; }
.image-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.image-grid.single { grid-template-columns: 1fr; }
.image-grid .span-all { grid-column: 1 / -1; }
.image-grid.single .placeholder, .image-grid .span-all { aspect-ratio: 16 / 9; }
.credits { padding-block: 30px 50px; display: grid; grid-template-columns: 1fr 1fr; gap: 55px; }
.credits p { font-size: 11px; color: var(--muted); }
.next-project { border-top: 1px solid var(--line); padding-block: 32px 45px; }
.next-project > a { display: block; }
.next-project > a > div { display: flex; align-items: center; justify-content: space-between; gap: 35px; margin-top: 12px; }
.next-project h2 { font-family: var(--serif); font-size: 36px; letter-spacing: -.03em; line-height: 1.15; }
.next-project svg { width: 24px; height: 24px; flex: 0 0 24px; }
.next-project > a:hover h2 { text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 1px; }

@media (max-width: 1050px) {
  .wrap { width: calc(100% - 64px); }
  .site-header { gap: 24px; }
  .site-header nav { gap: 24px; }
  .hero-layout { grid-template-columns: minmax(0, 1fr) 250px; gap: 30px; padding-block: 60px; }
  .hero h1 { font-size: clamp(62px, 7.4vw, 90px); }
  .hero-aside > p { font-size: 17px; }
  .about-grid, .contact-grid, .project-section-copy { gap: 40px; }
}


@media (max-width: 760px) {
  .wrap { width: calc(100% - 40px); }
  .site-header { min-height: 90px; flex-wrap: wrap; justify-content: space-between; gap: 0 18px; padding: 20px 0 13px; }
  .wordmark { font-size: 32px; }
  .site-header nav { order: 3; width: 100%; margin: 9px 0 0; gap: 26px; font-size: 12px; }
  .site-header nav a { min-height: 40px; }
  .hero-layout { display: block; padding: 44px 0 36px; }
  .hero h1 { font-size: clamp(42px, 14vw, 74px); letter-spacing: -.06em; }
  .hero-aside { padding-top: 22px; gap: 9px; }
  .hero-aside > p { font-size: 17px; line-height: 1.5; }
  .text-link { font-size: 11px; }
  .works { padding-top: 12px; padding-bottom: 48px; }
  .section-heading { margin-bottom: 12px; }
  .section-heading h2 { font-size: 13px; }
  .filters { gap: 8px 18px; margin-bottom: 22px; }
  .filter-button { font-size: 10px; gap: 6px; }
  .project-grid { grid-template-columns: 1fr; gap: 30px; }
  .card-info { padding-top: 13px; }
  .card-info h3 { font-size: 27px; }
  .card-info > span { font-size: 10px; }
  .placeholder { padding: 20px; }
  .placeholder-title { font-size: 14px; }
  .about, .contact { padding-block: 38px; }
  .about-grid, .contact-grid { grid-template-columns: 1fr; gap: 24px; }
  .about h2, .contact h2 { font-size: 35px; }
  .about-copy .large-copy { font-size: 25px; margin-bottom: 17px; }
  .about-copy > p:not(.large-copy) { font-size: 13px; }
  .about-copy > .text-placeholder { font-size: 11px; }
  .contact-grid > div > p:first-child { font-size: 15px; }
  .site-footer { font-size: 9px; }
  .project-intro { padding-top: 18px; }
  .project-title { font-size: clamp(48px, 12vw, 78px); margin-top: 24px; }
  .project-title.long-title { font-size: clamp(43px, 10vw, 68px); }
  .project-meta { gap: 20px; margin-top: 24px; padding-block: 17px 24px; }
  .project-meta dt { font-size: 9px; }
  .project-meta dd { font-size: 12px; }
  .project-cover { aspect-ratio: 4 / 3; }
  .project-lead { margin-block: 32px; }
  .project-lead > p { font-size: 23px; }
  .project-section { padding-block: 30px 20px; }
  .project-section-copy { grid-template-columns: 1fr; gap: 17px; margin-bottom: 24px; }
  .project-section h2 { font-size: 31px; }
  .project-section-copy > div > p { font-size: 13px; }
  .image-grid, .image-grid.single { grid-template-columns: 1fr; gap: 18px; }
  .image-grid .span-all, .image-grid.single .placeholder { aspect-ratio: 4 / 3; }
  .credits { grid-template-columns: 1fr; gap: 12px; padding-block: 20px 35px; }
  .next-project { padding-block: 25px 35px; }
  .next-project h2 { font-size: 30px; }
  .next-project > a > div { gap: 20px; }
}

@media (max-width: 360px) {
  .wrap { width: calc(100% - 32px); }
  .filters { gap: 6px 14px; }
  .filter-button { font-size: 9px; }
  .card-info h3 { font-size: 25px; }
}

.study-controls { display:flex; justify-content:space-between; gap:25px; align-items:center; padding-block:25px; border-bottom:1px solid var(--line); }
.study-label { font-size:11px; }
.study-instruction { font-size:11px; color:var(--muted); margin-top:3px; }
.study-controls>a { font-size:11px; text-decoration:underline; text-underline-offset:4px; }
.study-choices { display:flex; flex-wrap:wrap; gap:24px; padding-top:28px; }
.study-choices button { border:0; border-bottom:1px solid transparent; background:transparent; color:var(--muted); font-size:12px; padding:10px 0; min-height:44px; }
.study-choices button[aria-pressed="true"] { color:var(--ink); border-bottom-color:var(--ink); }
.type-study .hero-layout { grid-template-columns:minmax(0,1fr) 310px; padding-block:28px 15px; min-height:190px; align-items:center; }
.type-specimen { display:block; width:auto; max-width:100%; object-fit:contain; object-position:left center; mix-blend-mode:multiply; }
.specimen-heading { font-size:0!important; line-height:1!important; letter-spacing:normal!important; }
.study-hero-heading { min-width:0; }
.study-hero-image { height:145px; }
.study-choice-note { font-size:11px; color:var(--muted); padding-bottom:40px; }
.type-study .section-heading { margin-bottom:28px; }
.type-study .section-heading .type-specimen { height:43px; }
.type-study .card-info .type-specimen { height:42px; }
.type-study .about .type-specimen,.type-study .contact .type-specimen { height:56px; }
.study-source { padding:0 0 35px; font-size:10px; color:var(--muted); }
.study-source>p { max-width:800px; }
.study-source a { text-decoration:underline; text-underline-offset:3px; }
@media(max-width:1050px) { .type-study .hero-layout {grid-template-columns:minmax(0,1fr) 250px;} .study-hero-image {height:125px;} }
@media(max-width:760px) {
  .study-controls {align-items:flex-start;padding-block:20px;gap:15px;}
  .study-controls>a {max-width:100px;font-size:10px;line-height:1.5;}
  .study-label {font-size:10px;}
  .study-instruction {font-size:10px;}
  .study-choices {gap:18px;padding-top:18px;}
  .study-choices button {font-size:10px;}
  .type-study .hero-layout {display:block;min-height:0;padding-block:22px 12px;}
  .study-hero-image {height:90px;}
  .type-study .hero-aside {padding-top:18px;}
  .study-choice-note {font-size:10px;padding-bottom:25px;max-width:330px;}
  .type-study .section-heading .type-specimen {height:36px;}
  .type-study .card-info .type-specimen {height:37px;}
  .type-study .about .type-specimen,.type-study .contact .type-specimen {height:45px;}
}

/* Current direction: SFT Schrifted Serif, Aptos and Palmer Lake Script. */
body { font-size:18px; }
.site-header { min-height:100px; }
.site-header nav { font-size:16px; gap:36px; }
.wordmark { width:140px; }
.wordmark .ink-specimen { width:100%; }
.palette-switch { display:flex; justify-content:flex-end; gap:20px; padding-top:24px; }
.palette-switch button { border:0; border-bottom:1px solid transparent; background:none; padding:5px 0; min-height:36px; font-size:15px; color:var(--muted); }
.palette-switch button[aria-pressed="true"] { border-bottom-color:currentColor; }
.palette-switch button[aria-pressed="true"] { color:var(--accent); }
.hero-layout { grid-template-columns:minmax(0,1fr) 310px; gap:85px; padding:25px 0 65px; align-items:center; }
.hero-statement { min-width:0; }
.ink-heading { font-size:0!important; line-height:1!important; letter-spacing:normal!important; }
.ink-specimen { display:block; width:min(100%,calc(var(--ink-ratio) * var(--ink-size,48px))); height:auto; max-width:100%; }
.hero-headline { color:var(--accent); display:flex; flex-direction:column; gap:12px; max-width:740px; }
.hero-headline .ink-specimen { width:100%; }
.hero-headline .headline-word:last-child { width:90%; }
.hero-disciplines { font-size:18px; line-height:1.5; margin-top:32px; }
.profile-teaser { min-width:0; }
.portrait-wrap { position:relative; margin-bottom:30px; }
.portrait-script { position:absolute; left:-20px; bottom:-22px; width:300px; z-index:1; line-height:1; color:var(--accent); transform:rotate(-8deg); transform-origin:30% 50%; pointer-events:none; }
.portrait-script svg { width:100%; height:auto; overflow:visible; }
.portrait { position:relative; aspect-ratio:1.1; overflow:hidden; background:var(--portrait); }
.portrait-pending { display:grid; place-items:center; }
.portrait-pending>span { font-size:16px; color:var(--muted); }
.portrait>img { width:100%; height:100%; object-fit:cover; object-position:center 32%; filter:grayscale(1) contrast(1.12); mix-blend-mode:multiply; }
.teaser-copy { padding-top:22px; }
.teaser-experience { font-size:23px; line-height:1.25; margin-bottom:10px; }
.teaser-copy>p:not(.teaser-experience) { font-size:17px; line-height:1.5; }
.profile-link { display:inline-flex; align-items:center; gap:20px; min-height:48px; padding-block:10px; color:var(--accent); font-size:17px; text-decoration:none; }
.profile-link>.aptos-copy { display:inline-block; border-bottom:1px solid currentColor; padding-bottom:4px; }
.site-header nav a:hover,.back-link:hover { text-decoration:none; }
.site-header nav a:hover>.aptos-copy,.back-link:hover>.aptos-copy { box-shadow:0 1px currentColor; }
.profile-link svg { width:18px; height:18px; }
.works { padding-top:30px; }
.section-heading { margin-bottom:12px; }
.section-heading h2 { font-size:37px; line-height:1.2; letter-spacing:-.025em; font-style:italic; }
.section-heading .ink-specimen { --ink-size:32px; }
.filters { gap:28px; margin-bottom:25px; }
.filter-button { font-size:16px; min-height:44px; }
.filter-button.is-active,.filter-button:hover { color:var(--accent); border-bottom-color:var(--accent); }
.project-grid { gap:48px 30px; }
.card-info { padding-top:18px; }
.card-info h3 { font-size:34px; letter-spacing:-.025em; }
.card-info .ink-specimen { --ink-size:34px; }
.card-info>span { font-size:16px; margin-top:10px; }
.placeholder-label { font-size:16px; letter-spacing:0; }
.placeholder-title { font-size:17px; }
.placeholder figcaption { gap:7px; }
.project-card:hover .ink-heading { color:var(--accent); }
.contact { padding-block:65px; }
.contact h2 { font-size:60px; font-style:italic; color:var(--accent); }
.contact .ink-specimen { --ink-size:58px; color:var(--accent); }
.contact-grid>div>p:first-child { font-size:25px; }
.contact-placeholder { font-size:20px; }
.site-footer { font-size:14px; }
.back-link { font-size:18px; }
.project-title { color:var(--accent); }
.project-title .ink-specimen { --ink-size:95px; }
.project-meta dt { font-size:17px; }
.project-meta dd { font-size:20px; }
.project-lead>p { font-size:29px; }
.project-section h2 { font-size:35px; letter-spacing:-.025em; }
.project-section-copy>div>p { font-size:20px; }
.project-section-copy>div>.inline-placeholder { font-size:19px; }
.credits .eyebrow,.credits p { font-size:17px; }
.next-project .eyebrow { font-size:17px; }
.next-project .ink-specimen { --ink-size:42px; }
.profile-page { padding-block:30px 80px; }
.profile-page-grid { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:100px; padding-top:45px; }
.profile-title { color:var(--accent); margin-bottom:40px; }
.profile-title .ink-specimen { --ink-size:100px; }
.profile-intro { font-size:29px; line-height:1.5; max-width:680px; }
.profile-section { margin-top:40px; max-width:680px; }
.profile-section h2 { font-size:28px; margin-bottom:13px; }
.profile-section p { font-size:20px; }
.profile-photo .portrait { aspect-ratio:4/5; }
.resume-pending { color:var(--muted); }

@media(max-width:1100px) {
  .hero-layout { grid-template-columns:minmax(0,1fr) 270px; gap:50px; }
  .hero-disciplines { font-size:17px; }
  .teaser-experience { font-size:22px; }
  .profile-page-grid { gap:50px; grid-template-columns:minmax(0,1fr) 280px; }
}
@media(max-width:760px) {
  .site-header { min-height:105px; }
  .wordmark { width:125px; }
  .site-header nav { gap:28px; font-size:16px; }
  .palette-switch { padding-top:14px; gap:20px; }
  .palette-switch button { font-size:15px; }
  .hero-layout { display:block; padding:23px 0 44px; }
  .hero-headline { max-width:520px; gap:8px; }
  .hero-disciplines { font-size:16px; margin-top:25px; max-width:340px; }
  .profile-teaser { display:grid; grid-template-columns:135px minmax(0,1fr); gap:22px; align-items:center; margin-top:38px; }
  .profile-teaser .portrait-wrap { margin-bottom:16px; }
  .portrait-script { left:-6px; bottom:-10px; width:140px; }
  .profile-photo .portrait-script { width:300px; max-width:100%; left:-8px; bottom:-17px; }
  .profile-teaser .portrait { aspect-ratio:4/5; }
  .portrait-pending>span { font-size:16px; }
  .teaser-copy { padding-top:0; }
  .teaser-experience { font-size:20px; line-height:1.25; }
  .teaser-copy>p:not(.teaser-experience) { font-size:16px; }
  .profile-link { font-size:15px; gap:12px; }
  .works { padding-top:14px; }
  .section-heading .ink-specimen { --ink-size:26px; }
  .filters { gap:6px 20px; margin-bottom:24px; }
  .filter-button { font-size:15px; }
  .section-heading h2 { font-size:31px; }
  .project-grid { gap:35px; }
  .card-info .ink-specimen { --ink-size:29px; }
  .card-info h3 { font-size:30px; }
  .card-info>span { font-size:17px; }
  .placeholder-label { font-size:17px; }
  .placeholder-title { font-size:17px; }
  .contact { padding-block:40px; }
  .contact .ink-specimen { --ink-size:48px; }
  .contact h2 { font-size:48px; }
  .contact-grid>div>p:first-child { font-size:23px; }
  .contact-placeholder { font-size:19px; }
  .site-footer { font-size:16px; }
  .project-title .ink-specimen { --ink-size:58px; }
  .project-meta dt { font-size:16px; }
  .project-meta dd { font-size:19px; }
  .project-lead>p { font-size:26px; }
  .project-section h2 { font-size:31px; }
  .project-section-copy>div>p { font-size:19px; }
  .project-section-copy>div>.inline-placeholder { font-size:18px; }
  .credits .eyebrow,.credits p { font-size:16px; }
  .next-project .ink-specimen { --ink-size:34px; }
  .profile-page { padding-block:20px 50px; }
  .profile-page-grid { grid-template-columns:1fr; gap:35px; padding-top:28px; }
  .profile-title { margin-bottom:28px; }
  .profile-title .ink-specimen { --ink-size:65px; }
  .profile-intro { font-size:26px; }
  .profile-section { margin-top:32px; }
  .profile-section h2 { font-size:26px; }
  .profile-section p { font-size:19px; }
  .profile-photo { max-width:320px; }
}
@media(max-width:360px) {
  .profile-teaser { grid-template-columns:110px minmax(0,1fr); gap:18px; }
  .portrait-script { width:116px; }
  .teaser-experience { font-size:18px; }
  .teaser-copy>p:not(.teaser-experience) { font-size:15px; }
  .profile-link { font-size:14px; gap:8px; }
}

/* Neutral ground and a concentrated colour accent for the personal profile. */
.hero-layout { padding-top:55px; }
.profile-teaser { background:#ffb8d1; padding:20px; }
.profile-teaser .portrait-wrap { margin-bottom:22px; }
.portrait-script { background:transparent; color:#1745cf; }
.teaser-copy { padding-top:18px; }
.teaser-experience { font-weight:500; font-size:22px; }
.site-header nav,.filters,.profile-link { font-weight:500; }
.profile-link { text-decoration:underline; text-underline-offset:5px; }
.site-header nav a:hover,.back-link:hover { text-decoration:underline; text-underline-offset:5px; }
.profile-page-grid { background:#ffb8d1; padding:40px; margin-top:30px; gap:60px; }
.profile-page .resume-pending { color:#432f25; padding:0; }
@media(max-width:1100px) { .profile-page-grid { padding:30px; gap:35px; } }
@media(max-width:760px) {
 .hero-layout { padding-top:35px; }
 .profile-teaser { padding:18px; gap:18px; grid-template-columns:115px minmax(0,1fr); align-items:center; }
 .profile-teaser .portrait-wrap { margin-bottom:12px; }
 .portrait-script { width:120px; left:-5px; bottom:-7px; }
 .teaser-copy { padding-top:0; }
 .teaser-experience { font-size:19px; }
 .teaser-copy>p:not(.teaser-experience) { font-size:15px; }
 .profile-page-grid { padding:22px; gap:35px; }
}
@media(max-width:360px) {
 .profile-teaser { padding:14px; grid-template-columns:90px minmax(0,1fr); gap:14px; }
 .portrait-script { width:95px; }
 .teaser-experience { font-size:17px; }
 .teaser-copy>p:not(.teaser-experience) { font-size:14px; }
 .profile-link { font-size:14px; gap:8px; }
 .profile-page-grid { padding:18px; }
}

/* Personal name and direct professional description. */
.hero-role { font-size:28px; line-height:1.3; margin-top:32px; }
.hero-disciplines { margin-top:14px; max-width:650px; }
.hero-headline { width:100%; }
.hero-headline .headline-name { width:100%; }
.portrait-script { width:280px; left:-10px; bottom:-20px; }
.profile-link { gap:14px; }
@media(max-width:1100px) { .profile-teaser .profile-link { font-size:15px; gap:10px; } }
@media(max-width:760px) {
 .hero-role { font-size:23px; margin-top:22px; }
 .hero-disciplines { margin-top:12px; }
 .portrait-script { width:116px; left:-5px; bottom:-9px; }
 .profile-teaser .profile-link { font-size:14px; gap:8px; }
}
@media(max-width:360px) {
 .portrait-script { width:95px; }
 .profile-teaser .profile-link { font-size:13px; gap:5px; }
}

/* Three areas of work and warmer project cards. */
.hero-headline { gap:0; }
.hero-headline .headline-line,
.hero-headline .headline-line:last-child { --ink-size:130px; width:min(100%,calc(var(--ink-ratio) * var(--ink-size))); }
.project-card { background:#ffb8d1; }
.card-info { padding:22px 24px 26px; }
.card-image .placeholder { background:#f8dce5; }
.project-intro .placeholder,.project-section .placeholder { background:#f8dce5; }
@media(max-width:1100px) {
 .hero-headline .headline-line,.hero-headline .headline-line:last-child { --ink-size:100px; }
}
@media(max-width:760px) {
 .hero-headline .headline-line,.hero-headline .headline-line:last-child { --ink-size:clamp(50px,16vw,90px); }
 .card-info { padding:20px; }
}

/* Quiet project captions, playful focus and a warm contact panel. */
.project-card { background:transparent; }
.card-info { padding:20px 0 4px; }
.card-image { position:relative; transform-origin:center; transition:transform 240ms ease; }
.card-image .placeholder,.project-intro .placeholder,.project-section .placeholder { background:#eae3d8; }
.card-image .placeholder { transition:background-color 240ms ease; }
.card-image::after { content:'↗'; position:absolute; right:24px; bottom:12px; font-size:64px; line-height:1; opacity:0; transform:translate(-8px,8px); transition:opacity 240ms ease,transform 240ms ease; pointer-events:none; }
.project-card:is(:hover,:focus-visible) .card-image { transform:rotate(-.8deg) scale(.985); }
.project-card:is(:hover,:focus-visible) .card-image .placeholder { background:#f8dce5; }
.project-card:is(:hover,:focus-visible) .card-image::after { opacity:1; transform:translate(0,0); }
.project-card:is(:hover,:focus-visible) .card-info h3 { color:#1745cf; }
.portrait-script { width:180px; left:-10px; bottom:-24px; transform:none; }
.portrait-script .script-line { display:block; width:155px; transform:rotate(-9deg); }
.portrait-script .script-line+ .script-line { width:145px; margin:-10px 0 0 25px; transform:rotate(4deg); }
.portrait-pending>span { position:absolute; top:24px; left:18px; }
.profile-teaser .portrait-wrap { margin-bottom:28px; }
.contact { background:#ffb8d1; border:0; padding:50px 44px; margin-bottom:45px; }
.contact h2 { transform:rotate(-4deg); transform-origin:left center; transition:transform 240ms ease; }
.contact:hover h2 { transform:rotate(0); }
@media(max-width:760px) {
 .portrait-script { width:116px; left:-5px; bottom:-12px; }
 .portrait-script .script-line { width:94px; }
 .portrait-script .script-line+ .script-line { width:88px; margin:-6px 0 0 16px; }
 .portrait-pending>span { font-size:13px; left:10px; top:12px; }
 .profile-teaser .portrait-wrap { margin-bottom:18px; }
 .contact { padding:36px 24px; margin-bottom:24px; }
 .card-image::after { font-size:48px; right:16px; }
 .card-info { padding:17px 0 3px; }
}
@media(max-width:360px) {
 .portrait-script { width:92px; }
 .portrait-script .script-line { width:77px; }
 .portrait-script .script-line+ .script-line { width:72px; margin-left:12px; }
 .portrait-pending>span { font-size:11px; left:8px; }
 .contact { padding:30px 20px; }
}
@media(prefers-reduced-motion:reduce) {
 .card-image,.card-image .placeholder,.card-image::after,.contact h2 { transition:none; }
 .project-card:is(:hover,:focus-visible) .card-image { transform:none; }
}

/* Circular paper sticker overlapping the profile card. */
.contact h2,.contact:hover h2 { transform:none; transition:none; }
.portrait-script { left:-45px; bottom:-20px; width:150px; height:150px; border-radius:50%; border:1px solid #1745cf; background:#fff9f1; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:20px; box-shadow:2px 3px 0 rgba(36,27,23,.10); transform:rotate(-9deg); }
.portrait-script .script-line { width:100px; transform:none; }
.portrait-script .script-line+ .script-line { width:94px; margin:-7px 0 0 8px; transform:none; }
@media(max-width:1100px) and (min-width:761px) { .portrait-script { left:-35px; } }
@media(max-width:760px) {
 .portrait-script { width:106px; height:106px; left:-25px; bottom:-8px; padding:14px; }
 .portrait-script .script-line { width:72px; }
 .portrait-script .script-line+ .script-line { width:67px; margin:-5px 0 0 6px; }
}
@media(max-width:360px) {
 .portrait-script { width:90px; height:90px; left:-20px; padding:11px; }
 .portrait-script .script-line { width:61px; }
 .portrait-script .script-line+ .script-line { width:57px; margin-top:-4px; }
}

/* Project-family navigation for superfit. */
.chapter-nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; margin-bottom:32px; }
.chapter-nav a { display:flex; justify-content:space-between; align-items:center; gap:18px; font-size:23px; padding:18px 0; border-bottom:1px solid var(--ink); }
.chapter-nav a:hover { color:#1745cf; border-color:#1745cf; }
.works .section-heading { margin-bottom:30px; }
@media(max-width:760px) {
 .chapter-nav { grid-template-columns:1fr; gap:0; margin-bottom:28px; }
 .chapter-nav a { font-size:21px; padding:14px 0; }
}

/* Uploaded project images keep their original composition. */
.card-image .work-image { aspect-ratio:4/3; background:#eae3d8; }
.card-image .work-image img { width:100%; height:100%; object-fit:contain; }
.work-image.project-cover,.image-grid .work-image.span-all { aspect-ratio:auto; }
.work-image figcaption { font-size:15px; line-height:1.45; margin-top:10px; }
@media(max-width:760px) { .work-image figcaption { font-size:14px; } }

/* A quiet type grid for additional client references. */
.references { padding:36px 0 56px; margin-bottom:48px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.references h2 { font-family:var(--sans); font-size:23px; line-height:1.3; font-weight:500; letter-spacing:-.025em; margin:0 0 28px; }
.reference-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px 48px; list-style:none; padding:0; margin:0; }
.reference-grid li { align-self:center; font-size:clamp(21px,2vw,28px); line-height:1.25; font-weight:500; letter-spacing:-.035em; }
@media(max-width:760px) {
 .references { padding:28px 0 32px; margin-bottom:32px; }
 .references h2 { font-size:21px; margin-bottom:26px; }
 .reference-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px 24px; }
 .reference-grid li { font-size:19px; }
}
@media(max-width:360px) { .reference-grid { column-gap:18px; } .reference-grid li { font-size:17px; } }

/* Original portrait colors and a free handwritten line on the pink panel. */
.portrait>img { filter:none; mix-blend-mode:normal; }
.profile-teaser .portrait-wrap { margin-bottom:18px; }
.profile-teaser .portrait-script { position:relative; display:flex; flex-direction:row; align-items:flex-end; justify-content:flex-start; gap:8px; width:240px; max-width:100%; height:auto; left:auto; bottom:auto; border:0; border-radius:0; background:transparent; box-shadow:none; padding:0; margin:0 0 18px -12px; transform:rotate(-8deg); transform-origin:center; }
.profile-teaser .portrait-script .script-line { flex:1; width:auto; min-width:0; transform:none; }
.profile-teaser .portrait-script .script-line+ .script-line { width:auto; margin:0; transform:none; }
.profile-teaser .teaser-copy { padding-top:0; }
@media(max-width:760px) {
 .profile-teaser { row-gap:26px; }
 .profile-teaser .portrait-wrap { grid-column:1; grid-row:1; margin-bottom:0; }
 .profile-teaser .teaser-copy { grid-column:2; grid-row:1; }
 .profile-teaser .portrait-script { grid-column:1 / -1; grid-row:2; width:190px; gap:7px; margin:0 0 4px -4px; transform:rotate(-6deg); }
}

/* Serif references and a restrained blue accent in the profile link. */
.profile-teaser .profile-link { color:#1745cf; font-weight:500; }
.profile-section p+p { margin-top:14px; }
.project-meta { grid-template-columns:1fr; }
.project-meta dd { max-width:1000px; }
.project-section .gallery-title { margin-bottom:24px; }
.profile-teaser .portrait-wrap { margin-bottom:22px; }
.reference-name { display:block; width:min(100%,var(--reference-width)); }
.reference-name .ink-specimen { width:100%; }
.references h2 .ink-specimen { --ink-size:24px; }
@media(max-width:760px) { .profile-teaser .portrait-wrap { margin-bottom:0; } }
@media(max-width:560px) {
 .reference-grid { grid-template-columns:1fr; gap:22px; }
 .reference-name { width:min(100%,calc(var(--reference-width) * .9)); }
}

/* Unified content structure, turquoise accent, and persistent return navigation. */
:root { --blue:#007b83; }
.profile-teaser .profile-link,.project-card:is(:hover,:focus-visible) .card-info h3 { color:var(--blue); }
.hero-headline .headline-line,.hero-headline .headline-line:last-child { --ink-size:126px; }
.teaser-copy h2 { font-weight:600; font-size:23px; line-height:1.15; margin-bottom:14px; }
.teaser-copy>p { font-size:17px; line-height:1.55; }
.references h2 { font-family:var(--sans); font-size:25px; font-weight:700; }
.contact-details { font-style:normal; display:flex; flex-direction:column; gap:10px; margin-top:24px; font-size:clamp(20px,2.2vw,29px); overflow-wrap:anywhere; }
.contact-details a { width:fit-content; text-decoration:underline; text-underline-offset:5px; }
.back-to-top { position:fixed; right:14px; bottom:24px; z-index:10; width:48px; height:48px; border:1px solid var(--ink); background:var(--paper); color:var(--ink); border-radius:50%; display:grid; place-items:center; box-shadow:0 2px 8px #432f2512; }
.back-to-top svg { width:24px; height:24px; }
.back-to-top:hover { background:#ffb8d1; }
.designation { display:block; font-family:var(--sans); font-size:20px; font-weight:500; letter-spacing:0; line-height:1.3; margin-top:10px; }
.card-info .designation { font-size:14px; margin-top:7px; }
.next-project .designation { font-size:16px; }
.project-summary { font-size:22px; line-height:1.55; max-width:850px; margin-top:28px; margin-bottom:35px; }
.project-services { display:grid; grid-template-columns:1fr 2fr; gap:45px; border-top:1px solid var(--line); padding-top:28px; margin-top:34px; margin-bottom:48px; }
.project-services>h2 { font-size:24px; font-weight:600; }
.service-groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 36px; }
.service-group h3 { font-family:var(--sans); font-size:20px; line-height:1.3; font-weight:600; margin-bottom:12px; }
.service-group ul { list-style:none; padding:0; margin:0; }
.service-group li { font-size:18px; line-height:1.55; }
.service-group li+li { margin-top:6px; }
.project-cover { margin-top:34px; }
.project-statement { margin:50px 0 35px auto; max-width:830px; }
.project-statement p { font-family:Newsreader,Georgia,serif; font-size:clamp(30px,4vw,49px); line-height:1.2; font-style:italic; }
.project-section-copy { grid-template-columns:1fr 2fr; gap:45px; }
.project-section-copy h2 { font-family:var(--sans); font-size:32px; font-weight:500; }
.project-section-copy .service-groups { grid-template-columns:repeat(2,minmax(0,1fr)); }
.profile-page-grid { grid-template-columns:minmax(0,1fr) 280px; gap:50px; padding:35px; }
.profile-intro { font-size:24px; line-height:1.55; }
.profile-title { margin-bottom:25px; }
.profile-title .ink-specimen { --ink-size:68px; }
.profile-page .profile-link { color:var(--blue); }
.profile-photo .portrait-wrap { margin:0; }
.resume-columns { display:grid; grid-template-columns:1fr 1fr; gap:70px; padding-top:55px; }
.resume-columns h2,.profile-wide>h2,.profile-bottom h2 { font-size:30px; font-weight:600; line-height:1.2; margin-bottom:27px; }
.timeline { list-style:none; padding:0; margin:0; }
.timeline>li { border-top:1px solid var(--line); padding:22px 0 28px; }
.timeline-date { color:var(--blue); font-size:17px; font-weight:500; line-height:1.4; margin-bottom:9px; }
.timeline h3 { font-size:23px; font-weight:500; line-height:1.25; }
.timeline-role { font-size:17px; line-height:1.5; margin-top:6px; }
.timeline ul { list-style:none; padding:0; margin:12px 0 0; }
.timeline ul li { font-size:16px; line-height:1.5; margin-top:5px; }
.profile-wide { border-top:1px solid var(--line); padding-top:32px; margin-top:40px; }
.profile-wide .service-groups { grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px 70px; }
.profile-body { max-width:840px; font-size:21px; }
.profile-bottom { display:grid; grid-template-columns:1fr 1fr; gap:70px; margin-top:45px; padding-top:32px; border-top:1px solid var(--line); }
.profile-bottom p { font-size:19px; }
@media(max-width:1100px) {
 .hero-headline .headline-line,.hero-headline .headline-line:last-child { --ink-size:100px; }
 .profile-page-grid { grid-template-columns:minmax(0,1fr) 230px; gap:30px; padding:28px; }
 .project-services,.project-section-copy { grid-template-columns:1fr 2fr; gap:30px; }
 .service-groups { gap:25px; }
 .resume-columns,.profile-bottom { gap:40px; }
}
@media(max-width:760px) {
 .hero-headline .headline-line,.hero-headline .headline-line:last-child { --ink-size:clamp(54px,17vw,90px); }
 .teaser-copy h2 { font-size:21px; }
 .teaser-copy>p { font-size:16px; }
 .project-services,.project-section-copy { grid-template-columns:1fr; gap:24px; }
 .project-services { padding-top:24px; margin-top:26px; margin-bottom:32px; }
 .project-summary { font-size:19px; margin-top:24px; margin-bottom:28px; }
 .service-groups,.project-section-copy .service-groups { grid-template-columns:1fr 1fr; gap:28px 24px; }
 .service-group h3 { font-size:18px; }
 .service-group li { font-size:17px; }
 .project-statement { margin-block:34px 10px; }
 .profile-page-grid { grid-template-columns:1fr; padding:24px; }
 .profile-photo { width:190px; grid-row:1; }
 .profile-intro { font-size:21px; }
 .profile-title .ink-specimen { --ink-size:52px; }
 .resume-columns { grid-template-columns:1fr; gap:36px; padding-top:36px; }
 .resume-columns h2,.profile-wide>h2,.profile-bottom h2 { font-size:27px; margin-bottom:22px; }
 .profile-wide .service-groups { gap:28px; }
 .profile-bottom { grid-template-columns:1fr; gap:36px; }
 .profile-body,.profile-bottom p { font-size:18px; }
 .back-to-top { right:10px; bottom:14px; width:44px; height:44px; }
 .site-footer { padding-right:50px; }
}
@media(max-width:480px) {
 .service-groups,.project-section-copy .service-groups,.profile-wide .service-groups { grid-template-columns:1fr; }
 .profile-page-grid { padding:20px; }
 .profile-teaser { grid-template-columns:1fr; }
 .profile-teaser .portrait-wrap { grid-column:1; grid-row:1; width:150px; margin-bottom:5px; }
 .profile-teaser .teaser-copy { grid-column:1; grid-row:2; }
 .teaser-copy h2 { font-size:24px; }
 .contact-details { font-size:20px; }
}
@media(min-width:761px) {
 .profile-page-grid { padding:28px; }
 .profile-title .ink-specimen { --ink-size:55px; }
 .profile-intro { font-size:21px; line-height:1.5; }
 .profile-photo .portrait { aspect-ratio:1; }
 .resume-columns { padding-top:36px; }
}

/* Personal details: cobalt accents, softer surfaces and a unified profile. */
:root { --blue:#1745cf; }
.wordmark { width:145px; }
.profile-teaser,.contact { border-radius:0; }
.profile-teaser { padding:22px; }
.profile-teaser .portrait { border-radius:0; border:0; box-shadow:none; transform:none; }
.teaser-copy .teaser-experience { margin-bottom:18px; }
.teaser-experience .ink-specimen { --ink-size:49px; }
.profile-teaser .profile-link { text-decoration-thickness:1px; transition:color 180ms ease; }
.profile-teaser .profile-link:hover { color:var(--ink); }
.card-image { border-radius:0; }
.card-image::after { color:var(--blue); }
.project-card .card-info { transition:color 180ms ease; }
.profile-panel { background:#ffb8d1; border-radius:0; padding:36px; margin-top:30px; }
.profile-panel .profile-page-grid { background:transparent; padding:0; margin:0; }
.profile-panel .resume-columns { padding-top:42px; }
.profile-panel .timeline>li,.profile-panel .profile-wide,.profile-panel .profile-bottom { border-color:#432f253b; }
.profile-panel .profile-photo .portrait { border:0; border-radius:0; }
.profile-panel .profile-bottom { padding-bottom:6px; }
.profile-panel .service-groups { grid-template-columns:repeat(2,minmax(0,1fr)); }
.designation { width:fit-content; margin-top:12px; }
.designation .ink-specimen { --ink-size:36px; }
.card-info .designation .ink-specimen { --ink-size:21px; }
.next-project { display:flex; justify-content:flex-end; padding:30px 0 24px; }
.next-project>a { display:inline-flex; width:fit-content; gap:18px; align-items:center; min-height:48px; font-size:21px; }
.next-project>a>svg { flex:0 0 24px; width:24px; height:24px; transition:transform 180ms ease; }
.next-project>a:hover { color:var(--blue); }
.next-project>a:hover>svg { transform:translate(3px,-3px); }
.project-footer { border-top:0; padding-top:0; font-size:18px; padding-bottom:30px; }
.project-statement { max-width:1000px; margin:60px 0 38px auto; padding:0; border-radius:0; background:transparent; color:var(--blue); text-align:right; }
.project-statement blockquote { margin:0; }
.project-statement p { max-width:1000px; font-size:clamp(38px,5.5vw,74px); line-height:1.08; font-weight:400; text-wrap:balance; }
.project-statement figcaption { margin-top:28px; font-family:var(--sans); font-size:16px; font-style:normal; line-height:1.5; }
.project-statement figcaption a:hover { text-decoration:underline; text-underline-offset:4px; }
@media(max-width:1100px) {
 .profile-panel { padding:28px; }
 .profile-teaser { padding:20px; }
 .project-statement { padding:0; }
}
@media(max-width:760px) {
 .wordmark { width:135px; }
 .profile-panel { padding:24px; margin-top:25px; border-radius:0; }
 .profile-panel .profile-page-grid { padding:0; }
 .profile-teaser { padding:20px; }
 .teaser-experience .ink-specimen { --ink-size:38px; }
 .profile-panel .resume-columns { padding-top:32px; }
 .project-statement { padding:0; margin-top:34px; border-radius:0; }
 .project-statement p { font-size:clamp(36px,7vw,50px); }
 .project-statement figcaption { font-size:14px; margin-top:22px; }
 .next-project>a { font-size:19px; gap:14px; }
 .project-footer { font-size:16px; }
 .designation .ink-specimen { --ink-size:28px; }
 .card-info .designation .ink-specimen { --ink-size:20px; }
}
@media(max-width:480px) {
 .profile-panel { padding:21px; }
 .profile-panel .service-groups { grid-template-columns:1fr; }
 .teaser-experience .ink-specimen { --ink-size:45px; }
 .project-statement { padding:0; }
 .project-statement p { font-size:36px; }
}
@media(prefers-reduced-motion:reduce) {
 .next-project>a>svg,.project-card .card-info,.profile-teaser .profile-link { transition:none; }
 .next-project>a:hover>svg { transform:none; }
}
.project-footer { border-top:1px solid var(--line); padding-block:26px; align-items:center; gap:30px; }
.project-footer>span { max-width:60%; line-height:1.4; }
.project-footer .next-project { border:0; margin:0; padding:0; flex-shrink:0; }
@media(max-width:760px) {
 .project-footer { flex-wrap:wrap; row-gap:12px; padding-right:0; padding-bottom:78px; }
 .project-footer>span { max-width:100%; }
 .project-footer .next-project { margin-left:auto; }
}
/* Keep the fixed return arrow clear of the project navigation. */
.project-footer { padding-right:66px; }
@media(max-width:760px) { .project-footer { padding-right:0; padding-bottom:90px; } }


/* Serif hierarchy and clearly separated CV responsibilities. */
.section-serif .ink-specimen { --ink-size:calc(34px * var(--heading-lines,1)); }
.project-section-copy>.section-serif .ink-specimen { --ink-size:calc(42px * var(--heading-lines,1)); }
.project-services>.section-serif .ink-specimen { --ink-size:34px; }
.profile-services .section-serif .ink-specimen,.timeline .section-serif .ink-specimen { --ink-size:calc(28px * var(--heading-lines,1)); }
.profile-services .section-serif,.timeline .section-serif { font-weight:400; }
.timeline .timeline-role { font-size:18px; font-weight:600; margin-top:12px; line-height:1.4; }
.timeline>li>ul { list-style:disc; padding-left:21px; margin-top:17px; }
.timeline>li>ul>li { padding-left:4px; margin-top:9px; font-size:17px; line-height:1.6; }
.timeline>li>ul>li::marker { color:var(--blue); font-size:.8em; }
.working-style { color:var(--blue); }
@media(max-width:760px) {
 .section-serif .ink-specimen { --ink-size:calc(30px * var(--heading-lines,1)); }
 .project-section-copy>.section-serif .ink-specimen { --ink-size:calc(36px * var(--heading-lines,1)); }
 .project-services>.section-serif .ink-specimen { --ink-size:30px; }
 .profile-services .section-serif .ink-specimen,.timeline .section-serif .ink-specimen { --ink-size:calc(25px * var(--heading-lines,1)); }
 .timeline .timeline-role { font-size:17px; }
 .timeline>li>ul>li { font-size:16px; }
}
.serif-lines { display:flex; flex-direction:column; gap:6px; }

/* One calibrated serif size throughout the profile, based on legero united. */
.profile-page .section-serif .ink-specimen { --ink-size:var(--profile-ink-height); }
.profile-page .section-serif { font-weight:400; margin-bottom:14px; }
.profile-panel .timeline .section-serif { margin-bottom:0; }
.profile-panel .timeline-date { color:var(--ink); }
.profile-panel .profile-services h3 { font-family:var(--sans); font-size:18px; line-height:1.35; font-weight:600; margin-bottom:12px; }
.profile-panel .serif-lines { gap:6px; }
@media(max-width:760px) {
 .profile-page .section-serif .ink-specimen { --ink-size:var(--profile-ink-height-mobile); }
 .profile-panel .profile-services h3 { font-size:17px; }
}
.serif-mobile { display:none; }
@media(max-width:760px) {
 .profile-panel .serif-desktop { display:none; }
 .profile-panel .serif-mobile { display:flex; }
}


/* Airier profile: one reading size, personal context at the end of the pink panel. */
.profile-panel { padding:48px; }
.profile-panel .profile-page-grid { grid-template-columns:minmax(0,1fr) 260px; gap:72px; align-items:start; }
.profile-page .profile-intro,.profile-page .profile-body,.profile-page .profile-personal p,.profile-page .profile-perspectives p,.profile-page .service-group li,.profile-page .timeline>li>ul>li { font-family:var(--sans); font-size:18px; font-weight:400; line-height:1.75; }
.profile-page .section-serif { margin-bottom:22px; }
.profile-panel .timeline .section-serif { margin-bottom:0; }
.profile-panel .resume-columns { padding-top:72px; gap:80px; }
.profile-panel .timeline>li { padding:28px 0 36px; }
.profile-panel .timeline-role { margin-top:14px; line-height:1.55; }
.profile-panel .timeline>li>ul { margin-top:20px; }
.profile-panel .timeline>li>ul>li { margin-top:10px; }
.profile-panel .profile-wide { margin-top:64px; padding-top:40px; }
.profile-panel .profile-services { gap:44px 72px; }
.profile-panel .profile-services h3 { margin-bottom:16px; }
.profile-panel .service-group li+li { margin-top:10px; }
.profile-panel .working-style { color:var(--ink); }
.profile-page .working-style .profile-body { max-width:780px; }
.profile-panel .profile-photo { width:100%; max-width:none; }
.profile-photo .portrait { width:240px; max-width:100%; }
.profile-personal { background:transparent; color:var(--ink); }
.profile-personal p { max-width:780px; }
.profile-closing { display:block; margin-top:40px; padding:0; border:0; }
.profile-perspectives { display:grid; grid-template-columns:minmax(180px,1fr) minmax(0,2fr); gap:72px; padding:48px; background:var(--blue); color:#ffb8d1; }
.profile-perspectives p { max-width:65ch; }
.profile-perspectives .profile-link { color:inherit; margin-top:20px; }
@media(max-width:1100px) {
 .profile-panel { padding:36px; }
 .profile-panel .profile-page-grid { grid-template-columns:minmax(0,1fr) 230px; gap:48px; }
 .profile-panel .resume-columns,.profile-panel .profile-services { column-gap:48px; }
 .profile-perspectives { padding:36px; gap:48px; }
}
@media(max-width:760px) {
 .profile-panel { padding:28px; }
 .profile-panel .profile-page-grid { grid-template-columns:1fr; gap:44px; }
 .profile-panel .profile-photo { grid-row:auto; }
 .profile-panel .resume-columns { padding-top:56px; row-gap:48px; }
 .profile-panel .profile-wide { margin-top:48px; padding-top:32px; }
 .profile-panel .profile-services { gap:36px; }
 .profile-page .profile-intro,.profile-page .profile-body,.profile-page .profile-personal p,.profile-page .profile-perspectives p,.profile-page .service-group li,.profile-page .timeline>li>ul>li { font-size:17px; line-height:1.75; }
 .profile-perspectives { grid-template-columns:1fr; gap:12px; padding:32px 28px; }
 .profile-closing { margin-top:28px; }
}
@media(max-width:480px) {
 .profile-panel { padding:24px; }
 .profile-photo .portrait { width:200px; }
 .profile-panel .profile-services { grid-template-columns:1fr; }
 .profile-perspectives { padding-inline:24px; }
}
