/* Editorial portfolio: warm paper, strong hierarchy, and real-data previews. */
:root { --bg:#f8f7f2; --ink:#232e28; --ink-soft:#4f5b53; --muted:#606b62; --accent:#355a46; --accent-deep:#284635; --accent-soft:#e7ede5; --navy:#26392e; --line:#dedfd5; --container:1160px; }
.nav { background:rgba(248,247,242,.96); border-bottom:1px solid var(--line); }
.nav-inner { height:76px; }
.logo-mark { border-radius:50%; width:34px; height:34px; background:var(--accent); }
.nav-links { gap:30px; }
.nav-links a { font-size:.88rem; }
.nav-cta { border-radius:6px; background:var(--accent); }
.btn { border-radius:6px; padding:13px 21px; font-family:var(--font-body); font-size:.9rem; }
.text-link { display:inline-flex; gap:18px; align-items:center; font-weight:600; font-size:.9rem; color:var(--ink); text-decoration:underline; text-decoration-color:#a7b4a5; text-underline-offset:5px; }
.text-link:hover { color:var(--accent); text-decoration-color:var(--accent); }
.eyebrow { letter-spacing:.13em; font-size:.72rem; font-weight:600; }
.page-home section { padding:88px 0; }
.page-home .home-hero { padding:140px 0 66px; }
.home-hero-grid { display:grid; grid-template-columns:1.13fr 1fr; gap:65px; align-items:center; }
.availability { display:flex; align-items:center; gap:8px; color:var(--accent-deep); font-size:.78rem; margin:0 0 30px; }
.availability span { width:7px; height:7px; border-radius:50%; background:var(--accent); }
.page-home h1 { font-family:Georgia,"Times New Roman",serif; font-weight:400; font-size:clamp(3rem,5.15vw,4.65rem); line-height:1.06; letter-spacing:-.047em; margin:18px 0 26px; }
.page-home h1 em { color:var(--accent); font-weight:400; }
.home-intro { font-size:1.08rem; line-height:1.75; max-width:465px; color:var(--ink-soft); margin:0 0 26px; }
.home-actions { display:flex; gap:25px; flex-wrap:wrap; align-items:center; }
.hero-location { font-size:.73rem; color:var(--muted); margin:25px 0 0; }
.notebook { padding:30px; background:#eeeee6; border:1px solid #dadcd0; border-radius:12px; }
.notebook-kicker { display:block; color:var(--muted); font-size:.69rem; text-transform:uppercase; letter-spacing:.12em; padding-bottom:18px; border-bottom:1px solid #cfd3c4; margin-bottom:22px; }
.notebook h2 { font-size:1.6rem; letter-spacing:-.04em; line-height:1.2; }
.notebook figcaption p { color:var(--ink-soft); font-size:.88rem; margin:12px 0 20px; }
.notebook svg { display:block; width:100%; font-family:var(--font-body); }
.notebook-note { font-size:.83rem; color:var(--ink-soft); line-height:1.6; margin:16px 0; }
.notebook-source { font-size:.68rem; color:var(--muted); border-top:1px solid #cfd3c4; padding-top:16px; margin:20px 0 0; line-height:1.6; }
.credential-strip { border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.credential-strip .container { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:18px 26px; padding-top:21px; padding-bottom:21px; font-size:.79rem; }
.credential-strip strong { color:var(--accent); margin-right:4px; }
.credential-strip a { font-size:.75rem; text-decoration:underline; text-underline-offset:3px; }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; }
.page-home h2 { font-weight:500; letter-spacing:-.04em; line-height:1.16; }
.section-heading h2, .about-layout h2, .thesis-layout h2 { font-family:Georgia,"Times New Roman",serif; font-size:clamp(2rem,3.1vw,2.75rem); font-weight:400; }
.section-intro { max-width:620px; color:var(--ink-soft); font-size:.97rem; margin:18px 0 34px; }
.selected-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.selected-card { display:flex; flex-direction:column; border:1px solid var(--line); border-radius:10px; overflow:hidden; background:#fffefb; color:var(--ink); transition:transform .2s,border-color .2s; }
.selected-card:hover { transform:translateY(-4px); border-color:#7b907d; text-decoration:none; }
.work-preview { min-height:214px; display:flex; flex-direction:column; justify-content:center; background:#eceee6; padding:20px 16px; border-bottom:1px solid var(--line); }
.selected-card:nth-child(2) .work-preview { background:#e7e8df; }
.selected-card:nth-child(3) .work-preview { background:#eeede6; }
.selected-copy { padding:25px 24px; display:flex; flex-direction:column; flex:1; }
.work-topic { font-size:.67rem; text-transform:uppercase; letter-spacing:.08em; color:var(--accent); font-weight:600; }
.selected-copy h3 { font-size:1.25rem; margin:14px 0 10px; line-height:1.27; letter-spacing:-.03em; }
.selected-copy p { font-size:.87rem; line-height:1.65; color:var(--ink-soft); margin:0 0 22px; }
.work-link { display:flex; justify-content:space-between; align-items:center; font-size:.85rem; font-weight:600; margin-top:auto; }
.preview-word { text-align:center; }
.preview-word > span { font-size:.69rem; color:var(--muted); }
.preview-word > strong { display:block; font-family:Georgia,serif; font-size:4.8rem; font-weight:400; line-height:1.05; letter-spacing:-.06em; }
.preview-word strong span { font-size:2.9rem; margin-left:6px; }
.preview-word p { font-size:.69rem; line-height:1.45; margin:9px 0 0; }
.preview-caption { font-size:.68rem; color:var(--muted); text-align:center; margin:0; }
.heat-preview { display:flex; gap:15px; align-items:center; }
.heat-preview svg { width:45%; flex-shrink:0; }
.heat-preview strong { font-size:2.35rem; line-height:1; letter-spacing:-.06em; }
.heat-preview strong span { font-size:1rem; letter-spacing:0; }
.heat-preview p { font-size:.7rem; line-height:1.5; margin:9px 0 0; }
.page-home .thesis-feature { background:#e9eee5; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.thesis-layout { display:grid; grid-template-columns:1fr 1fr; gap:110px; align-items:center; }
.thesis-layout > div > p { font-size:.95rem; color:var(--ink-soft); line-height:1.75; }
.thesis-layout .btn { margin-top:16px; }
.thesis-aside { border-left:1px solid #b8c5b4; padding-left:50px; }
.thesis-aside .thesis-number { font-family:Georgia,serif; font-size:4.6rem; line-height:1; color:var(--accent); margin:0 0 30px; letter-spacing:-.05em; }
.thesis-number span { display:block; font:400 .88rem var(--font-body); letter-spacing:0; color:var(--ink-soft); margin-top:10px; }
.thesis-facts { display:grid; grid-template-columns:1fr 1fr; gap:24px; border-top:1px solid #c7d0c0; padding-top:22px; }
.thesis-facts p { font-size:.82rem; line-height:1.6; margin:0; }
.thesis-facts strong { display:block; font-size:1.05rem; }
.thesis-aside .thesis-note { font-size:.85rem; margin-top:22px; }
.about-layout { display:grid; grid-template-columns:1fr 1.15fr; gap:90px; }
.about-layout p { color:var(--ink-soft); font-size:.95rem; }
.about-layout .about-lead { font-size:1.2rem; line-height:1.7; color:var(--ink); margin-top:0; }
.practice-list { margin:30px 0; }
.practice-list > div { display:flex; gap:20px; border-top:1px solid var(--line); padding:16px 0; }
.practice-list > div > span { font:italic 1.3rem Georgia,serif; color:var(--accent); }
.practice-list p { margin:0; font-size:.87rem; }
.practice-list strong { display:block; color:var(--ink); }
.page-home #experience { background:#f0f1e9; }
.page-home #experience .container { display:grid; grid-template-columns:.65fr 1.35fr; gap:0 65px; }
.page-home #experience .section-head { grid-row:span 2; }
.page-home #experience h2, .page-home #skills h2, .page-home #education h2 { font-family:Georgia,serif; font-size:2.4rem; }
.page-home .timeline::before, .page-home .timeline li::before { display:none; }
.page-home .timeline li { padding:0 0 24px; margin:0 0 24px; border-bottom:1px solid #d6dccf; }
.page-home .timeline p { font-size:.9rem; }
.career-more { grid-column:2; }
.career-more summary { cursor:pointer; padding:10px 0; font-size:.86rem; font-weight:600; text-decoration:underline; text-underline-offset:5px; }
.career-more .timeline { margin-top:25px; }
.page-home #skills { padding-bottom:38px; }
.page-home #education { padding-top:38px; }
.page-home .section-head { margin-bottom:30px; }
.page-home .skill-group, .page-home .edu-card { border-radius:8px; background:transparent; box-shadow:none; }
.page-home .award { background:transparent; border:0; border-top:1px solid var(--line); border-radius:0; padding:28px 0 0; }
.page-home .award-icon { display:none; }
.page-home .award h3 { font-size:1rem; }
.page-home .award blockquote { font-family:Georgia,serif; font-style:italic; font-size:1.2rem; }
.page-home .home-contact { border-top:1px solid var(--line); background:#e6ece2; }
.home-contact h2 { font-family:Georgia,serif; font-size:clamp(2.6rem,5vw,4.4rem); font-weight:400; }
.home-contact p { color:var(--ink-soft); font-size:1rem; margin:25px 0; }
.home-contact .contact-address { font-size:.82rem; overflow-wrap:anywhere; }
.editorial-footer { padding:42px 0 25px; background:var(--bg); border-top:1px solid var(--line); }
.footer-intro { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:18px; }
.footer-intro p { color:var(--muted); font-size:.85rem; margin:0; }
.footer-links { display:flex; flex-wrap:wrap; gap:13px 26px; margin:28px 0; }
.footer-links a { font-size:.83rem; color:var(--ink-soft); }
.editorial-footer .foot-base { border:0; padding:0; font-size:.72rem; }
.page-projects .research-hero { padding-top:125px; padding-bottom:42px; }
.page-projects .research-hero h1 { max-width:900px; font-size:clamp(2.3rem,4.2vw,3.5rem); letter-spacing:-.045em; }
.page-projects .research-hero .hero-sub { max-width:750px; }
#studyGrid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
#studyGrid .ability-card { background:#fffefb; border-radius:10px; box-shadow:none; padding:28px; }
#studyGrid .ability-card:hover { border-color:#7b907d; }
#studyGrid .lf-stat { color:var(--accent); font-family:Georgia,serif; font-size:1.7rem; }
.project-browser { border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:20px 0; margin-bottom:28px; }
.project-browser p { margin-left:auto; }
@media (max-width:960px) {
 .nav-links { top:76px; }
 .home-hero-grid { gap:30px; grid-template-columns:1fr 1fr; }
 .notebook { padding:22px; }
 .selected-grid { gap:14px; }
 .selected-copy { padding:20px 18px; }
 .heat-preview { flex-direction:column; gap:8px; text-align:center; }
 .heat-preview svg { width:90px; }
 .heat-preview p { display:none; }
 .thesis-layout, .about-layout { gap:45px; }
 .thesis-aside { padding-left:30px; }
 .credential-strip .container { justify-content:flex-start; }
}
@media (max-width:720px) {
 .page-home section { padding:58px 0; }
 .page-home .home-hero { padding:115px 0 45px; }
 .home-hero-grid, .thesis-layout, .about-layout { grid-template-columns:1fr; gap:35px; }
 .page-home h1 { font-size:clamp(2.9rem,10vw,4.2rem); }
 .home-intro { font-size:1rem; }
 .notebook { max-width:520px; padding:24px; }
 .selected-grid { grid-template-columns:1fr; gap:24px; }
 .work-preview { min-height:190px; }
 .work-preview > svg { max-width:360px; align-self:center; }
 .heat-preview { flex-direction:row; text-align:left; justify-content:center; gap:25px; }
 .heat-preview svg { width:125px; }
 .heat-preview p { display:block; }
 .section-heading { align-items:start; flex-direction:column; gap:12px; }
 .thesis-aside { border-left:0; border-top:1px solid #b8c5b4; padding:28px 0 0; }
 .page-home #experience .container { display:block; }
 .page-home #skills { padding-bottom:26px; }
 .page-home #education { padding-top:26px; }
 #studyGrid { grid-template-columns:1fr; }
 .project-browser p { margin-left:0; flex-basis:100%; }
 .footer-intro { display:block; }
 .footer-intro p { margin-top:15px; }
}
@media (prefers-reduced-motion:reduce) { .selected-card { transition:none; } .selected-card:hover { transform:none; } }
@media print {
 .nav, .home-actions, .editorial-footer { display:none; }
 .page-home section { padding:24px 0; }
 .home-hero-grid { display:block; }
 .notebook { margin-top:25px; }
 .selected-card, .notebook { break-inside:avoid; }
}

.notebook-table { display:none; width:100%; border-collapse:collapse; }
.notebook-table caption { text-align:left; font-size:.85rem; font-weight:600; margin-bottom:12px; }
.notebook-table th, .notebook-table td { padding:10px 0; border-bottom:1px solid #d4d7cb; font-size:.8rem; text-align:left; }
.notebook-table thead th { font-weight:500; color:var(--muted); font-size:.72rem; }
.notebook-table td { text-align:right; font-weight:700; }
.notebook-table td span { display:block; font-size:.67rem; font-weight:400; color:var(--muted); }
.chapter-nav { top:76px; }
html:has(body.page-projects), html:has(body.page-research) { scroll-padding-top:146px; }
.edu-grid, .q-grid, .project-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); }
.no-js .nav { position:static; }
.no-js .nav-inner { height:auto; min-height:76px; }
@media (max-width:480px) {
 .notebook-chart { display:none; }
 .notebook-table { display:table; }
 .notebook { padding:20px; }
 .home-actions { gap:18px; }
 .credential-strip .container { gap:12px; }
 .credential-strip span { flex-basis:100%; }
}
/* Evidence-led personal positioning, September 2026. */
.page-home .hiring-routes { padding:42px 0 18px; }
.route-intro { display:flex; align-items:baseline; gap:26px; flex-wrap:wrap; margin-bottom:22px; }
.route-intro .eyebrow { margin:0; }
.route-intro h2 { font-size:1.35rem; margin:0; }
.hiring-route-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.hiring-route-grid > a { display:flex; flex-direction:column; padding:22px; border:1px solid var(--line); border-radius:8px; color:var(--ink); background:#f0f2eb; }
.hiring-route-grid > a:hover { background:#e7ece2; border-color:#92a18e; text-decoration:none; }
.hiring-route-grid > a > span:first-child { font-size:.72rem; font-weight:600; color:var(--accent); margin-bottom:12px; }
.hiring-route-grid strong { font-size:1rem; font-weight:600; line-height:1.45; }
.hiring-route-grid p { font-size:.82rem; color:var(--ink-soft); line-height:1.6; }
.hiring-route-grid .route-cta { margin-top:auto; font-size:.78rem; font-weight:600; }
.case-proof { border-top:1px solid var(--line); padding-top:15px; margin:0 0 20px; }
.case-proof strong { display:block; font-size:.79rem; font-weight:600; }
.case-proof p { font-size:.78rem; margin:7px 0 0; }
.hiring-cases { padding:0 0 45px; }
.sample-context { color:var(--muted); font-size:.85rem; max-width:850px; border-left:3px solid #a6b69f; padding-left:18px; }
.hiring-case { display:grid; grid-template-columns:.85fr 1.15fr; gap:60px; padding:48px 0; border-bottom:1px solid var(--line); scroll-margin-top:96px; }
.hiring-case h2 { font-family:Georgia,serif; font-weight:400; font-size:2rem; line-height:1.2; }
.hiring-case dl { margin:0; }
.hiring-case dt { font-size:.78rem; font-weight:700; color:var(--accent); margin-bottom:5px; }
.hiring-case dd { margin:0 0 19px; font-size:.94rem; color:var(--ink-soft); }
.case-links { display:flex; flex-wrap:wrap; gap:10px 20px; }
.case-links a { font-size:.82rem; text-decoration:underline; text-underline-offset:4px; }
.deliverable-note { border-radius:12px; background:#e9eee4; padding:32px; margin-top:42px; }
.deliverable-note h2 { font-size:1.4rem; }
.deliverable-note p { font-size:.94rem; max-width:850px; color:var(--ink-soft); }
.deliverable-note .home-actions { margin-top:25px; }
@media (max-width:760px) {
 .hiring-route-grid { grid-template-columns:1fr; gap:12px; }
 .hiring-case { grid-template-columns:1fr; gap:18px; padding:32px 0; }
 .hiring-case h2 { font-size:1.7rem; }
 .deliverable-note { padding:24px; }
}
