/*
Theme Name: 周宁 · 演奏与研究
Author: Zhou Ning
Description: 为周宁制作的个人简历主题。外观 → 自定义 → 我的个人网站，集中修改文字与照片，无需页面搭建插件。
Version: 1.4.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: zhou-ning
*/
:root{--paper:#f9f9f6;--ink:#17232b;--muted:#56626a;--line:#d8dddc;--accent:#295b61;--dark:#142b31;--serif:Georgia,'Songti SC','STSong','SimSun',serif;--sans:-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.85 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}a:focus-visible,button:focus-visible{outline:3px solid #c07a30;outline-offset:6px}img{display:block;max-width:100%;height:auto}p{margin:0 0 1.25em}h1,h2,h3{font-weight:400;line-height:1.3;margin:0}h2{font:clamp(2rem,4vw,3.1rem)/1.35 var(--serif)}h3{font-size:1.25rem}.wrap{max-width:1240px;padding:0 64px;margin:auto}.skip-link{position:fixed;left:16px;top:-100px;background:white;z-index:100;padding:12px}.skip-link:focus{top:16px}.site-header{border-bottom:1px solid var(--line);background:var(--paper)}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:96px;gap:32px}.brand{display:flex;align-items:baseline;gap:16px;flex-shrink:0}.brand-name{font-family:var(--serif);font-size:1.7rem;letter-spacing:.13em}.brand-en,.eyebrow{font-size:.8rem;letter-spacing:.17em;font-weight:500}.brand-en{color:var(--muted)}.site-nav{display:flex;flex-wrap:wrap;gap:25px;font-size:.9rem}.site-nav a{padding:8px 0}.hero{display:grid;grid-template-columns:1fr .84fr;gap:64px;padding-top:62px;padding-bottom:68px;align-items:center;min-height:650px}.eyebrow{color:var(--accent);margin-bottom:26px}.hero h1{font:clamp(4rem,7.6vw,6.3rem)/1.2 var(--serif);letter-spacing:.13em;margin-left:-.04em}.hero-en{font:clamp(1.9rem,3.6vw,3rem)/1.4 var(--serif);letter-spacing:.06em;margin-top:12px;margin-bottom:38px}.hero-role{color:var(--muted);font-size:1rem;white-space:pre-line;max-width:32em}.actions{display:flex;gap:24px;flex-wrap:wrap;align-items:center;margin-top:36px}.button{display:inline-flex;align-items:center;gap:30px;padding:12px 22px;border:1px solid var(--ink);font-size:.92rem}.button:hover{background:var(--ink);color:white}.text-link{border-bottom:1px solid currentColor;padding-bottom:3px;font-size:.92rem}.hero-portrait{margin:0;position:relative}.portrait-image{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 25%;background:#dde3e2}.portrait-type{aspect-ratio:4/5;background:var(--dark);color:#eef3ef;display:flex;flex-direction:column;justify-content:space-between;padding:42px}.portrait-type .type-name{font:clamp(3.4rem,6vw,5.7rem)/1.08 var(--serif);letter-spacing:-.025em}.portrait-type .type-small{font-size:.8rem;letter-spacing:.2em}.portrait-caption{display:flex;justify-content:space-between;gap:12px;font-size:.78rem;letter-spacing:.1em;margin-top:12px;color:var(--muted)}.section{border-top:1px solid var(--line);padding-top:72px;padding-bottom:76px}.section-grid{display:grid;grid-template-columns:260px 1fr;gap:64px}.section-label .eyebrow{margin-bottom:14px}.section-body{max-width:740px}.prose{font-size:1.025rem}.prose p:last-child{margin-bottom:0}.section-body .lead{font:1.42rem/1.85 var(--serif);margin-bottom:28px}.education{list-style:none;padding:0;margin:36px 0 0;border-top:1px solid var(--line)}.education li{padding:13px 0;border-bottom:1px solid var(--line);font-size:.94rem;white-space:pre-line}.focus-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:42px}.focus-item{border-top:2px solid var(--accent);padding-top:23px}.focus-item .number{font:italic 1rem var(--serif);color:var(--accent);margin-bottom:18px}.focus-item p{margin-top:16px;color:var(--muted);font-size:.95rem}.record-section{background:var(--dark);color:#edf2ef}.record-section a:hover{color:white}.record-inner{padding-top:72px;padding-bottom:72px;display:grid;grid-template-columns:260px 1fr;gap:64px}.record-section .eyebrow{color:#a7c6c6}.record-title{font:clamp(2.7rem,5.4vw,4.5rem)/1.12 var(--serif);letter-spacing:-.035em;margin-bottom:24px}.record-section .prose{color:#d3e0dd}.record-section .text-link{display:inline-block;margin-top:12px}.record-meta{font-size:.9rem;color:#abc4c3}.text-list{list-style:none;padding:0;margin:0}.text-list li{padding:18px 0;border-bottom:1px solid var(--line);white-space:pre-line}.text-list li:first-child{padding-top:0}.contact{padding-top:60px;padding-bottom:60px}.contact-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}.contact h2{font-size:2rem}.contact-link{font:clamp(1rem,2.5vw,1.7rem)/1.5 var(--serif);overflow-wrap:anywhere}.site-footer{border-top:1px solid var(--line);color:var(--muted);font-size:.8rem}.footer-inner{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-top:24px;padding-bottom:24px}.footer-links{display:flex;gap:20px;flex-wrap:wrap}.post-shell{max-width:850px;margin:70px auto;min-height:45vh}.post-shell h1{font:2.6rem/1.4 var(--serif);margin-bottom:32px}.post-shell h2{font-size:1.8rem;margin:32px 0 16px}.post-shell a{text-decoration:underline}.post-shell img{height:auto}.post-shell article{margin-bottom:48px}.post-date{font-size:.85rem;color:var(--muted);margin:12px 0 24px}.post-shell pre{overflow:auto;max-width:100%}.post-shell table{display:block;max-width:100%;overflow:auto}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.wp-caption{max-width:100%}.wp-caption-text{font-size:.85rem}.alignright{float:right;margin:0 0 20px 20px}.alignleft{float:left;margin:0 20px 20px 0}.aligncenter{margin:auto}.gallery-caption,.bypostauthor{font-size:inherit}.sticky{border-left:2px solid var(--accent);padding-left:20px}blockquote{border-left:3px solid var(--accent);margin-left:0;padding-left:24px;color:var(--muted)}
@media(max-width:1000px){.wrap{padding-left:36px;padding-right:36px}.hero{gap:36px;min-height:unset}.section-grid,.record-inner{grid-template-columns:200px 1fr;gap:36px}.brand-en{display:none}.site-nav{gap:17px}.hero-en{margin-bottom:24px}}
@media(max-width:700px){html{scroll-padding-top:24px}.wrap{padding-left:24px;padding-right:24px}.header-inner{align-items:flex-start;flex-direction:column;gap:12px;padding-top:18px;padding-bottom:18px}.brand-en{display:block}.site-nav{gap:8px 22px;font-size:.875rem}.hero{grid-template-columns:1fr;gap:34px;padding-top:42px;padding-bottom:46px}.hero h1{font-size:4.7rem}.hero-en{font-size:2.4rem}.hero-role{font-size:.95rem}.hero .eyebrow{margin-bottom:18px}.hero-portrait{max-width:480px;width:100%}.portrait-image,.portrait-type{aspect-ratio:4/4.4}.portrait-type .type-name{font-size:4.3rem}.section{padding-top:46px;padding-bottom:46px}.section-grid,.record-inner{grid-template-columns:1fr;gap:28px}.section-body{max-width:100%}.section-body .lead{font-size:1.3rem}.focus-grid{grid-template-columns:1fr;gap:24px;margin-top:30px}.focus-item p{margin-top:12px}.record-inner{padding-top:46px;padding-bottom:46px}.contact-inner{align-items:flex-start;flex-direction:column;gap:18px}.contact{padding-top:40px;padding-bottom:40px}.footer-inner{gap:10px}.post-shell{margin-top:36px}.post-shell h1{font-size:2rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.site-header,.actions,.site-footer{display:none}body{background:white}.wrap{padding:0}.hero{min-height:0;padding-top:0}.section,.record-inner{padding-top:30px;padding-bottom:30px}.record-section{background:white;color:black}.record-section .prose,.record-section .eyebrow,.record-meta{color:black}.focus-item,.education li{break-inside:avoid}}
.album-cover{margin-top:28px;width:100%;max-width:360px;box-shadow:0 15px 35px #0003}.photo-card{margin:0;break-inside:avoid}.photo-card img{width:100%;height:auto;background:#e4e6e3}.photo-card figcaption{font-size:.82rem;color:var(--muted);padding-top:10px;padding-bottom:18px}.zoom-link{display:block;cursor:zoom-in}.zoom-link:focus-visible{outline-offset:3px}.stage-feature{margin-top:44px}.stage-images{display:grid;grid-template-columns:1fr 1fr;gap:16px 28px;margin-top:14px;align-items:start}.orchestra-photo{grid-row:span 2}.more-photos{margin-top:30px;border-top:1px solid var(--line)}.more-photos summary{cursor:pointer;padding:20px 0;font-size:.95rem;list-style:none;display:flex;justify-content:space-between}.more-photos summary::-webkit-details-marker{display:none}.more-photos[open] summary span{transform:rotate(45deg)}.photo-columns{columns:3;column-gap:24px}.photo-columns .photo-card{margin-bottom:12px}.poster-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:40px}.poster-grid .zoom-link{background:#e9eae7;padding:10px;display:flex;align-items:center;min-height:330px}.poster-grid img{height:315px;object-fit:contain;background:transparent}.poster-grid figcaption{line-height:1.6}.image-dialog{border:0;padding:48px 20px 12px;max-width:96vw;max-height:95vh;background:#101719;color:white;overflow:auto}.image-dialog::backdrop{background:#081015ed}.dialog-close{position:sticky;top:0;float:right;margin-top:-40px;background:white;color:#17232b;border:0;padding:8px 15px;cursor:pointer;font:14px var(--sans);z-index:1}.dialog-image{width:auto;max-width:100%;max-height:78vh;object-fit:contain;margin:auto}.dialog-caption{font-size:.9rem;text-align:center;margin:12px 0 0;color:white}.portrait-image{aspect-ratio:1;object-position:center}
@media(max-width:1000px){.poster-grid{grid-template-columns:repeat(2,1fr)}.poster-grid img{height:370px}.photo-columns{columns:2}}
@media(max-width:700px){.album-cover{max-width:280px}.stage-images{gap:16px}.photo-columns{columns:2;column-gap:16px}.poster-grid{gap:16px}.poster-grid .zoom-link{padding:5px;min-height:0}.poster-grid img{height:240px}.stage-images .photo-card figcaption{font-size:.78rem}.stage-feature{margin-top:32px}.image-dialog{padding-left:10px;padding-right:10px}}
@media(max-width:420px){.poster-grid img{height:205px}}
@media print{.more-photos,.image-dialog{display:none}.photo-card{break-inside:avoid}.poster-grid img{height:220px}}

.recordings-wrap{padding-top:72px;padding-bottom:72px}.record-group{margin-top:44px}.record-group-title{display:flex;gap:16px;flex-wrap:wrap;align-items:baseline;font:1.55rem/1.5 var(--serif);margin-bottom:28px}.record-group-title span{font: .72rem/1.5 var(--sans);letter-spacing:.13em;color:#abc4c3}.record-feature{display:grid;grid-template-columns:260px 1fr;gap:64px;margin-bottom:40px}.record-feature .album-cover{margin:0}.record-artist{font-size:.92rem;margin-bottom:12px;color:#edf2ef}.record-card{border-top:1px solid #537073;padding-top:26px;padding-bottom:18px;min-width:0}.record-card h4{font:clamp(1.45rem,3vw,2rem)/1.4 var(--serif);margin:0 0 20px;overflow-wrap:anywhere}.record-card .prose{font-size:.92rem}.record-card .record-meta{margin-bottom:12px}.record-credit{font-size:.88rem;color:#c5d9ce;margin-bottom:18px}.engineering-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 48px}.engineering-intro{color:#c5d9ce;margin-top:-12px}.record-card-cover{width:180px;aspect-ratio:1;object-fit:contain;margin-bottom:24px}.record-group+.record-group{margin-top:58px}.dialog-detail{margin:auto;display:block;border:1px solid #769497;background:#142b31;color:white;padding:7px 15px;font:14px var(--sans);cursor:pointer}.image-dialog.is-detailed .dialog-image{max-height:none;max-width:none;width:auto}.image-dialog.is-detailed{width:96vw;height:95vh}.image-dialog.is-detailed .dialog-detail{position:sticky;left:10px;bottom:0}.record-title{margin-top:0}
@media(max-width:1000px){.record-feature{grid-template-columns:200px 1fr;gap:36px}}
@media(max-width:700px){.recordings-wrap{padding-top:46px;padding-bottom:46px}.record-feature,.engineering-grid{grid-template-columns:1fr;gap:26px}.record-feature .album-cover{max-width:260px}.record-group-title{font-size:1.35rem}.record-group{margin-top:32px}}

.studio-section{background:#eeebe3;border-top:1px solid #d8d2c4}.studio-wrap{padding-top:72px;padding-bottom:72px}.studio-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:32px}.studio-heading .eyebrow{margin-bottom:10px}.studio-heading h2{font:clamp(3.5rem,7vw,5.5rem)/1.1 var(--serif);letter-spacing:-.045em}.studio-byline{color:#5c605a;font-size:.9rem;margin:0;text-align:right}.studio-photo img{width:100%;height:auto}.studio-photo figcaption{padding-bottom:0}.studio-copy{display:grid;grid-template-columns:1.2fr 1fr;gap:64px;margin-top:36px}.studio-copy h3{font:1.65rem/1.55 var(--serif);margin-bottom:22px}.studio-copy .prose{color:#4d5654}.studio-inquiry{border-left:1px solid #c7c5bc;padding-left:32px;font-size:.94rem}.studio-inquiry .text-list li{border-color:#c7c5bc}.studio-inquiry .actions{gap:20px;margin-top:26px}.contact-note{font-size:.87rem;margin:12px 0 0;color:var(--muted)}
@media(max-width:1100px){.site-nav{gap:14px}.brand-en{display:none}.studio-copy{gap:32px}}
@media(max-width:700px){.studio-wrap{padding-top:46px;padding-bottom:46px}.studio-heading{display:block}.studio-byline{text-align:left;margin-top:18px}.studio-copy{grid-template-columns:1fr;gap:26px;margin-top:26px}.studio-inquiry{border-left:0;border-top:1px solid #c7c5bc;padding:24px 0 0}.brand-en{display:block}.studio-copy h3{font-size:1.4rem}}
@media print{.studio-section{background:white}.studio-inquiry .actions{display:none}}
.studio-contact-note{margin:22px 0 0;color:var(--muted);font-size:.87rem}

.publications{margin-top:44px}.publications>h3{font:1.65rem/1.5 var(--serif);margin-bottom:24px}.paper-item{padding:26px 0;border-top:1px solid var(--line);max-width:960px}.paper-item h4{font:1.25rem/1.7 var(--serif);margin:0 0 14px}.paper-meta{font-size:.86rem;color:var(--accent);margin-bottom:10px}.paper-item .prose{font-size:.95rem;color:var(--muted)}.paper-links{display:flex;flex-wrap:wrap;gap:20px;margin-top:18px}.other-publications{margin-top:20px}.record-label{display:inline-block;border:1px solid #91a998;padding:7px 12px;font-size:.92rem;letter-spacing:.04em;color:#f1e5b5;margin:0 0 18px}.record-card-cover{width:100%;max-width:300px;height:auto;aspect-ratio:1;object-fit:contain}.record-art{margin-bottom:24px}.record-card-featured{display:grid;grid-template-columns:minmax(220px,340px) 1fr;gap:48px;padding:32px 0 44px;margin-bottom:26px;border-top:1px solid #91a998}.record-card-featured .record-card-cover{max-width:340px;margin:0}.record-card-featured .record-art{margin:0}.record-card-featured h4{font:clamp(1.8rem,4vw,2.8rem)/1.4 var(--serif)}.record-card-featured .record-label{font-size:1.12rem}.engineering-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.record-card h4{font-size:1.6rem}.record-card-featured h4{font-size:clamp(1.8rem,4vw,2.8rem)}#piano-recordings>.record-card{display:grid;grid-template-columns:200px 1fr;gap:32px}#piano-recordings>.record-card .record-card-cover{max-width:200px}.record-card .record-artist,.record-card .record-credit{font-size:.9rem}
@media(max-width:900px){.engineering-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.record-card-featured{grid-template-columns:240px 1fr;gap:28px}}
@media(max-width:700px){.engineering-grid,.record-card-featured,#piano-recordings>.record-card{grid-template-columns:1fr}.record-card-featured .record-card-cover{max-width:320px}.engineering-grid .record-card-cover{max-width:280px}.record-card-featured .record-label{font-size:1rem}.paper-item h4{font-size:1.13rem}.record-card-featured{gap:24px}}

/* A handwritten studio wordmark using fonts supplied by the visitor's device. */
.studio-heading h2{font-family:'Segoe Script','Snell Roundhand','Apple Chancery','URW Chancery L',cursive;font-weight:400;font-style:normal;font-size:clamp(2.4rem,6vw,5.2rem);line-height:1.45;letter-spacing:-.035em;color:#254e50;padding:0 .1em .06em 0;overflow-wrap:normal}
@media(max-width:420px){.studio-heading h2{font-size:2.35rem;letter-spacing:-.05em}}
