/* Continuous, content-led layouts for the personal archive. */
body.jy-profile-v3{margin:0;padding-bottom:0;--accent:var(--jy-green);--accent-soft:#edf0e6;--dark:var(--jy-green);--text:var(--jy-ink);--muted:var(--jy-muted);--line:var(--jy-line);--bg:var(--jy-paper)}
.jy-profile-v3 .breadcrumb{display:flex;align-items:center;flex-wrap:wrap;max-width:1160px;gap:10px}
.jy-profile-v3>.section-hero{max-width:1160px;padding:36px 32px 40px;margin-bottom:0}
.jy-profile-v3 .section-hero-badge{font-size:11px;letter-spacing:.18em;margin-bottom:12px}
.jy-profile-v3 .section-hero h1 .sub{display:block;font:400 18px/1.8 var(--jy-sans);letter-spacing:0;color:var(--jy-muted);margin-top:14px}
.jy-profile-v3 .hero-stats{display:flex;gap:26px;flex-wrap:wrap;margin-top:28px}
.jy-profile-v3 .hero-stat{font-size:12px;line-height:1.8}
.jy-profile-v3 .hero-stat strong{font-size:21px;font-weight:600}
.jy-profile-v3 .profile-page{max-width:1160px;margin:0 auto;padding:0 32px 50px;min-width:0}
.jy-profile-v3 .profile-index{display:flex;gap:10px 25px;align-items:center;flex-wrap:wrap;border-bottom:1px solid var(--jy-line);padding:20px 0;margin-bottom:12px;font-size:13px}
.jy-profile-v3 .profile-index-label{font-size:10px;letter-spacing:.14em;color:var(--jy-muted);margin-right:12px}
.jy-profile-v3 .profile-index a{display:inline-flex;align-items:center;min-height:44px;color:var(--jy-green);text-decoration:none;border-bottom:1px solid transparent}
.jy-profile-v3 .profile-index a:hover{border-color:var(--jy-green)}
.jy-profile-v3 .profile-section{border-bottom:1px solid var(--jy-line);padding:44px 0 48px;scroll-margin-top:24px;min-width:0}
.jy-profile-v3 .profile-section-head{display:grid;grid-template-columns:140px minmax(0,1fr);gap:28px;margin-bottom:28px;align-items:baseline}
.jy-profile-v3 .profile-number{font:500 22px/1.5 var(--jy-sans);font-variant-numeric:lining-nums tabular-nums;color:#6a7d62}
.jy-profile-v3 .profile-section h2{font:600 29px/1.6 var(--jy-serif);color:var(--jy-green);margin:0;letter-spacing:.025em}
.jy-profile-v3 .profile-section h3{font:600 21px/1.6 var(--jy-serif);margin:0 0 14px;color:var(--jy-green)}
.jy-profile-v3 .profile-section h4{font:600 18px/1.7 var(--jy-sans);margin:0 0 12px;color:var(--jy-green)}
.jy-profile-v3 .profile-section-body{margin-left:168px;min-width:0}
.jy-profile-v3 .profile-section-body>p,.jy-profile-v3 .profile-prose p{font-size:16px;line-height:1.95;margin:0 0 19px;color:var(--jy-ink)}
.jy-profile-v3 .profile-prose{min-width:0;padding:0;margin:0;background:none;border:0;box-shadow:none;border-radius:0}
.jy-profile-v3 .profile-prose+.profile-prose{margin-top:30px}
.jy-profile-v3 .profile-prose strong{color:var(--jy-green)}
.jy-profile-v3 .profile-prose a{color:var(--jy-green);text-underline-offset:4px}
.jy-profile-v3 .profile-note{font-size:13px;line-height:1.8;color:var(--jy-muted);margin:12px 0 22px}
.jy-profile-v3 .profile-timeline-item{display:grid;grid-template-columns:136px minmax(0,1fr);gap:24px;padding:0 0 28px;margin-bottom:26px;border-bottom:1px solid var(--jy-line)}
.jy-profile-v3 .profile-timeline-item:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.jy-profile-v3 .profile-period{font-size:13px;letter-spacing:.03em;color:var(--jy-muted);padding-top:3px}
.jy-profile-v3 .profile-timeline-title{font:600 19px/1.65 var(--jy-serif);margin:0 0 10px;color:var(--jy-green)}
.jy-profile-v3 .profile-timeline-desc{font-size:15px;line-height:1.95;color:var(--jy-ink)}
.jy-profile-v3 .profile-domain-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 36px}
.jy-profile-v3 .profile-domain{border-top:2px solid #becba8;padding-top:20px}
.jy-profile-v3 .profile-domain p{font-size:15px;line-height:1.95;margin:0;color:var(--jy-ink)}
.jy-profile-v3 .profile-record{padding:16px 0;border-bottom:1px solid var(--jy-line);display:flex;align-items:baseline;gap:20px;font-size:15px;line-height:1.85}
.jy-profile-v3 .profile-record:last-child{border-bottom:0}
.jy-profile-v3 .profile-label{display:inline-block;min-width:90px;flex-shrink:0;font-size:12px;color:var(--jy-muted);letter-spacing:.02em}
.jy-profile-v3 .profile-record-name{min-width:72px;flex-shrink:0;color:var(--jy-green);font-weight:600}
.jy-profile-v3 .profile-quote{margin:24px 0;padding:20px 0 20px 24px;border-left:3px solid #8fa46a;color:var(--jy-green);font:18px/1.95 var(--jy-serif);background:transparent}
.jy-profile-v3 .profile-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 22px;align-items:start}
.jy-profile-v3 .profile-gallery.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.jy-profile-v3 .profile-figure{margin:0;min-width:0}
.jy-profile-v3 .profile-figure a{display:block;text-decoration:none}
.jy-profile-v3 .profile-figure img{display:block;width:100%;height:auto;max-width:100%;border-radius:0;box-shadow:none;object-fit:contain;background:#e9ede2}
.jy-profile-v3 .profile-figure figcaption{display:block;padding-top:10px;font-size:12px;line-height:1.8;color:var(--jy-muted)}
.jy-profile-v3 .profile-gallery .profile-figure img{aspect-ratio:4/3;object-fit:contain}
.jy-profile-v3 .profile-figure.portrait{max-width:430px;margin:24px auto}
.jy-profile-v3 .profile-figure.full{max-width:740px;margin:24px auto}
.jy-profile-v3 .profile-figure.math{max-width:560px;margin:28px auto}
.jy-profile-v3 .profile-method-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:start;border-top:1px solid var(--jy-line);padding-top:30px;margin-top:34px}
.jy-profile-v3 .profile-method-row .profile-figure{max-width:420px;margin:0 auto}
.jy-profile-v3 .profile-method-text{padding-top:5px}
.jy-profile-v3 .profile-method-text p{font-size:15px;line-height:1.95;color:var(--jy-ink)}
.jy-profile-v3 .profile-article-link{display:block;text-decoration:none;color:var(--jy-green);border-top:2px solid #8fa46a;border-bottom:1px solid var(--jy-line);padding:26px 0}
.jy-profile-v3 .profile-article-link strong{display:block;font:600 24px/1.6 var(--jy-serif);margin:0 0 12px}
.jy-profile-v3 .profile-article-link p{font-size:15px;line-height:1.95;margin:0 0 15px;color:var(--jy-muted)}
.jy-profile-v3 .profile-article-link span{font-size:13px}
.jy-profile-v3 .profile-contact{display:flex;align-items:center;justify-content:space-between;gap:28px;margin:42px 0 0;padding:28px 0;border-bottom:1px solid var(--jy-line)}
.jy-profile-v3 .profile-contact h2{font:600 23px/1.65 var(--jy-serif);color:var(--jy-green);margin:0 0 9px}
.jy-profile-v3 .profile-contact p{font-size:14px;line-height:1.8;color:var(--jy-muted);margin:0}
.jy-profile-v3 .profile-contact a,.jy-profile-v3 .profile-text-link{display:inline-flex;align-items:center;justify-content:center;min-height:46px;border:1px solid var(--jy-green);padding:10px 20px;color:var(--jy-green);text-decoration:none;font-size:13px;white-space:nowrap}
.jy-profile-v3 .profile-contact a:hover,.jy-profile-v3 .profile-text-link:hover{background:var(--jy-lime)}
.jy-profile-v3 .profile-case{padding:34px 0;border-top:1px solid var(--jy-line)}
.jy-profile-v3 .profile-case:first-child{border-top:0;padding-top:0}
.jy-profile-v3 .profile-case-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;align-items:start;margin:22px 0}
.jy-profile-v3 .profile-testimony{margin:0;padding:0 0 0 22px;border-left:2px solid #9eb17b;background:transparent}
.jy-profile-v3 .profile-testimony .who{font-size:13px;color:var(--jy-muted);margin-bottom:18px}
.jy-profile-v3 .profile-testimony .badge{margin-right:12px;font-size:11px}
.jy-profile-v3 .profile-testimony .line{font-size:15px;line-height:1.95;margin-bottom:12px}
.jy-profile-v3 .profile-testimony .name{font-weight:600;color:var(--jy-green)}
.jy-profile-v3 .profile-case .profile-figure{max-width:430px;margin:0 auto}
.jy-profile-v3 .profile-meta{font-size:12px;color:var(--jy-muted);line-height:1.8;margin-bottom:20px}
.jy-profile-v3 .profile-alias{display:block;scroll-margin-top:24px}
.jy-profile-v3 .section-footer{padding:24px 20px;border-top:1px solid var(--jy-line);font-size:12px;text-align:center}
.jy-profile-v3 .profile-table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.8}
.jy-profile-v3 .profile-table th{text-align:left}
.jy-profile-v3 .profile-table td{vertical-align:top}
.jy-profile-v3 .profile-table .honor-tag{display:inline;font-size:12px;color:var(--jy-muted)}
@media(max-width:850px){
 .jy-profile-v3 .profile-section-head{grid-template-columns:55px minmax(0,1fr);gap:18px}
 .jy-profile-v3 .profile-section-body{margin-left:73px}
 .jy-profile-v3 .profile-domain-grid{gap:26px}
 .jy-profile-v3 .profile-timeline-item{grid-template-columns:115px minmax(0,1fr);gap:18px}
}
@media(max-width:600px){
 .jy-profile-v3>.section-hero{padding:24px 22px 30px}
 .jy-profile-v3 .profile-page{padding:0 22px 34px}
 .jy-profile-v3 .profile-index{gap:4px 18px;margin-bottom:0;padding:12px 0}
 .jy-profile-v3 .profile-index-label{width:100%;font-size:9px;padding-top:6px}
 .jy-profile-v3 .profile-index a{font-size:12px;min-height:40px}
 .jy-profile-v3 .profile-section{padding:30px 0 34px}
 .jy-profile-v3 .profile-section-head{grid-template-columns:35px minmax(0,1fr);gap:12px;margin-bottom:22px}
 .jy-profile-v3 .profile-section h2{font-size:25px}
 .jy-profile-v3 .profile-number{font-size:18px}
 .jy-profile-v3 .profile-section-body{margin-left:0}
 .jy-profile-v3 .profile-domain-grid{grid-template-columns:1fr;gap:26px}
 .jy-profile-v3 .profile-timeline-item{grid-template-columns:1fr;gap:8px;padding-bottom:23px;margin-bottom:23px}
 .jy-profile-v3 .profile-timeline-title{font-size:19px}
 .jy-profile-v3 .profile-gallery,.jy-profile-v3 .profile-gallery.two{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}
 .jy-profile-v3 .profile-gallery figcaption{font-size:11px}
 .jy-profile-v3 .profile-method-row,.jy-profile-v3 .profile-case-body{grid-template-columns:1fr;gap:22px}
 .jy-profile-v3 .profile-record{gap:14px;font-size:14px;align-items:flex-start}
 .jy-profile-v3 .profile-label{min-width:76px;font-size:11px}
 .jy-profile-v3 .profile-article-link strong{font-size:21px}
 .jy-profile-v3 .profile-contact{align-items:flex-start;flex-direction:column;gap:18px;padding:24px 0;margin-top:26px}
 .jy-profile-v3 .profile-contact h2{font-size:22px}
 .jy-profile-v3 .profile-prose p,.jy-profile-v3 .profile-section-body>p{font-size:15px}
 .jy-profile-v3 .profile-quote{font-size:17px;padding-left:18px}
}
@media print{.jy-profile-v3 .profile-index,.jy-profile-v3 .profile-contact{display:none}.jy-profile-v3 .profile-section{break-inside:avoid}.jy-profile-v3 .profile-page{max-width:none;padding:0}.jy-profile-v3 .profile-section-body{margin:0}}
