/* About page only: preserve biography and source links, with no global overrides. */
.about-page { --about-wine:#661e38; --about-plum:#351729; overflow:hidden; }
.about-hero { position:relative; isolation:isolate; overflow:hidden; padding:48px 0 40px; background:radial-gradient(ellipse at 12% 15%,#9b3f5b80,transparent 58%),linear-gradient(115deg,#682039,#351729); color:#fff7fa; }
.about-hero::before { content:''; position:absolute; z-index:-1; pointer-events:none; width:570px; height:570px; inset-inline-end:-230px; top:-280px; border:1px solid #e8b4cb35; border-radius:50%; box-shadow:0 0 0 50px #edb9d009,0 0 0 100px #edb9d008; }
.about-hero::after { content:''; position:absolute; inset:0; z-index:-1; pointer-events:none; background-image:radial-gradient(#f1cbd827 1px,transparent 1px); background-size:22px 22px; mask-image:linear-gradient(90deg,#000,transparent 55%); }
.about-hero__grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:70px; align-items:center; }
.about-hero__copy { min-width:0; }
.about-hero .eyebrow { color:#f5c8da; background:none; padding:0; }
.about-hero h1 { color:#fff9fc; font-size:clamp(2rem,3.8vw,3.2rem); line-height:1.6; margin-block:14px 2px; text-wrap:balance; }
.about-hero__specialty { color:#f0c4d4; font-size:1.15rem; margin:0 0 20px; }
.about-hero .lead { color:#f4e2eb; font-size:1rem; line-height:2.15; max-width:620px; margin-bottom:26px; }
.about-hero__actions { display:flex; flex-wrap:wrap; gap:16px 24px; align-items:center; }
.about-hero .button { background:#fff3f7; color:#591a32!important; box-shadow:none; border:1px solid #f4d6e2; }
.about-hero .button:hover { background:#fff; color:#75223e!important; }
.about-hero__link { display:inline-flex; align-items:center; min-height:44px; color:#fff3f9; font-size:.87rem; text-decoration:underline; text-underline-offset:7px; text-decoration-color:#c888a0; }
.about-hero__facts { display:flex; flex-wrap:wrap; gap:20px 32px; margin-top:32px; padding-top:24px; border-top:1px solid #e7b3cb30; }
.about-hero__facts div { display:flex; flex-direction:column; gap:5px; }
.about-hero__facts span { font-size:.78rem; color:#dcb8ca; }
.about-hero__facts b { font-size:1rem; color:#fff5fa; }
.about-hero__portrait { width:100%; max-width:430px; margin:0 auto; padding:10px; border:1px solid #f4cdda50; border-radius:100px 100px 24px 24px; background:#fff9fb; box-shadow:0 22px 60px #17071238; }
.about-hero__photo { overflow:hidden; border-radius:91px 91px 16px 16px; background:radial-gradient(ellipse at 50% 65%,#e9cdd8,#faf1f5); }
.about-hero__photo img { display:block; width:100%; height:auto; max-height:430px; object-fit:contain; object-position:center; }
.about-hero__portrait figcaption { padding:16px 8px 8px; display:flex; gap:12px; align-items:center; color:#54243b; }
.about-hero__portrait figcaption svg { width:40px; height:40px; flex:none; stroke:#963852; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.about-hero__portrait figcaption b { display:block; font-size:.95rem; }
.about-hero__portrait figcaption small { display:block; color:#795766; font-size:.73rem; margin-top:4px; }
.about-jump-links { display:flex; gap:10px; flex-wrap:wrap; padding-block:20px; border-bottom:1px solid #ead7e0; }
.about-jump-links a { display:inline-flex; align-items:center; min-height:44px; border:1px solid #e5cbd8; border-radius:12px; padding:9px 18px; background:#fff8fb; color:#71314c; font-size:.87rem; }
.about-jump-links a:hover { background:#6b233e; color:white; border-color:#6b233e; }
.about-biography { display:grid; grid-template-columns:260px minmax(0,1fr); align-items:start; gap:44px; padding-block:56px; }
.about-page [id] { scroll-margin-top:110px; }
.about-section-label h2 { font-size:1.9rem; line-height:1.9; color:#54213a; }
.about-section-label .eyebrow,.about-section-heading .eyebrow { color:#90354f; }
.about-section-mark { display:block; color:#b9789344; font-size:4.6rem; font-weight:800; line-height:1; direction:ltr; }
.about-bio-card { border:1px solid #e8d5df; padding:28px 32px; background:linear-gradient(140deg,#fff,#fff7fa); border-radius:22px; box-shadow:0 12px 30px #50213908; font-size:1rem; line-height:2.15; }
.about-bio-card h3 { color:#60243f; margin-top:0; font-size:1.22rem; }
.about-education { margin-top:26px; border-inline-start:3px solid #a44764; padding:18px 22px; background:#f7eaf0; border-radius:0 14px 14px 0; }
.about-education p { margin-bottom:0; }
.about-career { position:relative; isolation:isolate; background:#f4e5ed; border-block:1px solid #e6cfdb; }
.about-career::before { content:''; pointer-events:none; position:absolute; z-index:-1; inset:0; background:repeating-linear-gradient(135deg,transparent 0 80px,#aa5b7a08 81px 82px,transparent 83px 160px); }
.about-section-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.about-section-heading h2 { color:#55203a; margin:0; font-size:clamp(1.5rem,2.5vw,2rem); }
.about-career .section { padding-block:44px; }
.about-career .resume-timeline { gap:20px; }
.about-career .resume-timeline article { border:1px solid #dfc3d2; border-top:4px solid #842c4e; border-radius:18px; background:#fffbfd; padding:24px; box-shadow:0 10px 25px #50213908; }
.about-career .resume-timeline article:nth-child(2) { border-top-color:#af3c59; }
.about-career .resume-timeline span { background:#f1dfe8; color:#73314d; padding:6px 12px; }
.about-career .resume-timeline h3 { font-size:1.06rem; line-height:1.9; }
.about-career .resume-timeline p { font-size:.88rem; line-height:2; }
.about-research { padding-block:52px 24px; }
.about-research__intro { color:#715364; font-size:1rem; line-height:2; max-width:770px; margin-top:18px; }
.about-page .research-grid { gap:20px; }
.about-page .research-card { display:flex; flex-direction:column; padding:24px; border:1px solid #e0c7d6; border-radius:20px; background:linear-gradient(160deg,#fff,#fbf0f5); box-shadow:0 8px 25px #35172908; }
.about-page .research-card::before { display:none; }
.research-card__index { color:#aa607e; font:500 .85rem/1.5 Arial,sans-serif; direction:ltr; align-self:flex-start; }
.research-card__year { position:absolute; inset-inline-end:24px; top:21px; padding:3px 10px; background:#f0dce7; border-radius:8px; color:#652c49; font-size:.8rem; }
.about-page .research-card h3 { color:#54243c; padding:0; margin:18px 0 14px; font-family:Arial,sans-serif; font-size:1.12rem; line-height:1.6; text-align:left; }
.about-page .research-card p { font-size:.93rem; line-height:2; color:#694d5e; margin-bottom:20px; }
.research-card__meta { margin-top:auto; padding-top:16px; border-top:1px solid #ead5e0; color:#7a566b; font-size:.8rem; }
.research-card__meta>span { display:block; }
.about-page .research-card small { overflow-wrap:anywhere; color:#795366; }
.research-card__read { display:block; color:#87314e; font-weight:700; margin-top:16px; font-size:.83rem; }
.about-page .research-card:hover { transform:none; border-color:#ba7897; box-shadow:0 14px 32px #58264014; }
.about-research__note { color:#795b6a; font-size:.82rem; line-height:2; margin-block:20px; }
.about-page .research-profiles { display:flex; flex-wrap:wrap; gap:14px 24px; align-items:center; padding:20px 24px; background:#f4e6ee; border:1px solid #e5cfdc; border-radius:16px; }
.about-page .research-profiles h3 { margin:0; color:#62273f; font-size:1rem; }
.about-page .research-profiles>div { display:flex; flex-wrap:wrap; gap:10px; }
.about-page .research-profiles a { display:inline-flex; align-items:center; min-height:44px; padding:8px 14px; border-radius:10px; background:#fffafd; color:#70334f; font-size:.83rem; }
.about-page .consultation-inline { background:radial-gradient(ellipse at 10% 0,#93365380,transparent 70%),linear-gradient(115deg,#581d34,#36182b); box-shadow:none; }
.about-booking-links { display:flex; flex-wrap:wrap; gap:10px; }
.about-page a:focus-visible { outline:3px solid #b9547c; outline-offset:4px; }
.about-hero a:focus-visible { outline-color:#f4c2d9; }
@media(prefers-reduced-motion:no-preference) { .about-hero__portrait { animation:about-arrive .65s ease-out both; } .about-jump-links a,.about-page .research-card { transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s; } }
@keyframes about-arrive { from { opacity:.7; transform:translateY(12px); } to { opacity:1; transform:none; } }
@media(max-width:1000px) { .about-hero__grid { gap:32px; } .about-biography { grid-template-columns:210px minmax(0,1fr); gap:26px; } }
@media(max-width:700px) {
 .about-hero { padding-block:30px; }
 .about-hero__grid { grid-template-columns:1fr; gap:30px; }
 .about-hero h1 { font-size:2rem; }
 .about-hero__specialty { font-size:1rem; }
 .about-hero .lead { font-size:.95rem; }
 .about-hero__facts { margin-top:22px; padding-top:20px; gap:18px 24px; }
 .about-hero__portrait { max-width:360px; }
 .about-hero__photo img { max-height:350px; }
 .about-jump-links { display:grid; grid-template-columns:1fr 1fr; gap:8px; padding-block:16px; }
 .about-jump-links a { justify-content:center; text-align:center; padding:8px; font-size:.8rem; }
 .about-biography { grid-template-columns:1fr; padding-block:30px; gap:18px; }
 .about-section-label { position:relative; padding-inline-end:60px; }
 .about-section-label h2 { font-size:1.5rem; margin:6px 0 0; }
 .about-section-label h2 br { display:none; }
 .about-section-label .about-section-mark { position:absolute; inset-inline-end:0; top:20px; }
 .about-section-mark { font-size:3rem; }
 .about-bio-card { padding:22px 18px; font-size:.97rem; }
 .about-education { padding:16px; }
 .about-career .section { padding-block:32px; }
 .about-career .resume-timeline { gap:12px; margin-top:22px; }
 .about-career .resume-timeline article { padding:20px; }
 .about-research { padding-top:32px; }
 .about-page .research-card { padding:20px; }
 .about-page .research-card h3 { font-size:1.02rem; }
 .about-page .research-profiles { padding:18px; }
 .about-page .consultation-inline { padding:22px; }
}
