/*
Theme Name: Zhiyin Studio — Cinematic Portfolio
Author: Zhiyin Studio
Author URI: https://wordpress.com/
Description: WordPress.com-ready cinematic portfolio for Eve Jin. Full-screen video introduction, recruiter-friendly navigation, three marketing pillars, and scroll-reveal portfolio tiles.
Version: 0.4.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: zhiyin-studio
Tags: portfolio, one-column
*/

:root{--forest:#0e2b22;--almost:#09160f;--ink:#1e3228;--champ:#c9a56b;--ivory:#faf8f2;--sand:#e7ddca;--muted:#7a877e;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}button{font:inherit;cursor:pointer}.skip-link{position:absolute;top:-100px;left:30px;padding:10px;background:#fff;z-index:100}.skip-link:focus{top:10px}.section-wrap{max-width:1260px;width:calc(100% - 112px);margin:0 auto}
.nav{height:88px;display:flex;gap:30px;align-items:center;justify-content:space-between;padding:0 clamp(27px,5.3vw,98px);position:fixed;left:0;right:0;top:0;color:#f9f1df;z-index:20;transition:background .35s,box-shadow .35s;border-bottom:1px solid rgba(255,255,255,.12)}.nav.scrolled{background:rgba(9,24,18,.94);backdrop-filter:blur(16px);box-shadow:0 9px 44px #0004}.brand img{width:164px;height:72px;object-fit:contain;mix-blend-mode:screen}.nav nav{display:flex;align-items:center;gap:34px;margin-left:auto}.nav nav a,.nav-end{font-size:11px;letter-spacing:.12em;text-transform:uppercase}.nav nav a:hover{color:var(--champ)}.nav-end{border:1px solid rgba(201,165,107,.8);padding:13px 16px}.nav-end span{padding-left:16px;color:var(--champ)}.hamb{display:none;border:0;background:none;color:#fff;font-size:25px}
.hero{position:relative;height:100svh;min-height:720px;overflow:hidden;background:#08150f;color:#faf5e9}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,20,15,.79) 0,rgba(7,20,15,.45) 36%,rgba(8,22,16,.12) 75%),linear-gradient(0deg,rgba(5,14,10,.63) 0,transparent 25%,transparent 68%,rgba(4,12,8,.42))}.hero-content{position:relative;z-index:2;padding:clamp(170px,23vh,260px) 0 0 clamp(44px,10vw,180px);max-width:1120px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.32em;color:var(--champ);text-transform:uppercase}.hero h1{font:400 clamp(55px,6.6vw,105px)/1.12 var(--serif);letter-spacing:-.045em;margin:28px 0 12px;text-wrap:balance}.hero h1 em,.hero-sub,.explore h2 em,.directory h2 em,.detail h2 em,.about h2 em,.contact h2 em{font-style:italic;font-weight:400;color:var(--champ)}.hero-sub{font:italic clamp(23px,2.7vw,40px) var(--serif);letter-spacing:-.015em;margin:0 0 43px}.hero-actions{display:flex;align-items:center;gap:36px}.button{display:inline-flex;align-items:center;justify-content:center;gap:48px;padding:20px 25px;font-size:11px;letter-spacing:.13em;text-transform:uppercase;border:1px solid var(--champ);transition:background .25s,color .25s,transform .25s}.button:hover{transform:translateY(-2px)}.primary{background:var(--champ);color:#07180f}.text-link{font-size:11px;letter-spacing:.13em;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.43);padding:13px 0}.text-link span{margin-left:20px;color:var(--champ)}.hero-bottom{position:absolute;z-index:3;bottom:25px;left:clamp(28px,5.3vw,98px);right:clamp(28px,5.3vw,98px);display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.22em;color:#eee5d6}.hero-bottom .down{font-size:23px;margin-left:10px}.hero-bottom button{border:0;background:transparent;color:inherit;letter-spacing:.14em;text-transform:uppercase;font-size:10px}
.explore{padding:118px 0 116px;background:#f7f3eb}.explore-head{display:grid;grid-template-columns:.55fr 1.15fr .85fr;gap:6%;align-items:start;margin-bottom:82px}.eyebrow.dark{color:#93744c}.explore h2,.directory h2,.detail h2,.contact h2{font:400 clamp(44px,4.1vw,70px)/1.2 var(--serif);letter-spacing:-.04em;margin:-9px 0 0}.explore h2 em,.directory h2 em,.detail.light h2 em,.contact h2 em{color:#9d814e}.explore-head p,.directory-title p{font-size:14px;line-height:1.8;color:#5b645b;margin:8px 0 0}.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:38px}.pillar{border-top:1px solid #c6bdad;padding-top:25px}.pillar .num{color:#ae8959;font:italic 18px var(--serif)}.pillar h3{font:400 clamp(30px,3vw,42px)/1.25 var(--serif);margin:26px 0 14px}.pillar p{font-size:13px;color:#777a70;line-height:1.75;max-width:270px}
.directory{padding:128px 0 150px}.directory-title{display:flex;flex-direction:column;gap:26px;margin-bottom:55px}.directory h2{margin:0}.directory-title p{margin:0}.tile-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.tile{position:relative;height:455px;padding:32px;color:#fff;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;background-size:cover;background-position:center}.tile:before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,19,11,.90) 0,rgba(4,17,12,.27) 68%,rgba(8,25,15,.35));transition:opacity .5s}.tile:hover:before{opacity:.78}.tile:after{content:'';position:absolute;inset:0;border:1px solid rgba(255,255,255,.15);pointer-events:none}.tile-work{background-image:url('assets/landscape.jpg')}.tile-exp{background-image:url('assets/teahouse.jpg')}.tile-caps{background-image:url('assets/ink-mountain.jpg');background-color:#4b544b}.tile-about{background-image:url('assets/blossom.jpg')}.tile>span,.tile>div{position:relative;z-index:1}.tile-top{font-size:10px;letter-spacing:.22em}.tile h3{font:400 clamp(35px,3.4vw,55px)/1.16 var(--serif);margin:0 0 15px}.tile p{font-size:12px;letter-spacing:.025em;color:#eee5d6;max-width:300px;line-height:1.7}.tile-arrow{position:absolute;right:0;bottom:10px;font-size:29px;font-weight:300;color:#e5b56d}
.detail{padding:110px 0}.detail.light{background:#ebe6db}.detail.dark{background:#11271d;color:#f7f0e4}.split{display:grid;grid-template-columns:1fr 1.1fr;gap:11%;align-items:center;min-height:540px}.split.reverse{grid-template-columns:1.05fr 1fr}.section-text h2{margin:26px 0 25px}.section-text p{font-size:15px;line-height:1.95;max-width:460px;color:#6f776c}.detail.dark .section-text p{color:#d4d4c8}.image-panel{height:500px;overflow:hidden;background:#172e24}.image-panel img{width:100%;height:100%;object-fit:cover;filter:saturate(.78);transition:transform .8s}.image-panel:hover img{transform:scale(1.035)}.note{font-style:italic;font-size:12px!important}.mini-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:26px}.mini-tags span{font-size:10px;letter-spacing:.05em;padding:9px 10px;border:1px solid rgba(255,255,255,.25)}.mini-tags.green span{border-color:rgba(35,70,46,.35)}
.about{background:#08180f;color:#f7f2e6;min-height:680px;display:grid;place-items:center;position:relative;overflow:hidden}.about:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#071a13e8,#071a13b1),url('assets/ink-mountain.jpg') center/cover;opacity:.56;filter:grayscale(1)}.about-content{position:relative;z-index:1;text-align:center;max-width:820px;padding:110px 0}.about h2{font:400 clamp(54px,5.3vw,82px)/1.2 var(--serif);margin:34px 0}.about-content p{max-width:660px;margin:0 auto;font-size:16px;line-height:2;color:#d9d9cf}.signature{display:block;color:var(--champ);margin-top:36px;font:italic 22px var(--serif)}
.contact{padding:140px 0 150px;background:#f8f4ec}.contact h2{margin:27px 0}.contact p{font-size:15px;color:#5a665e;line-height:1.9;max-width:580px;margin:0 0 34px}.green-button{background:#17372b;color:#fff;border-color:#17372b}.dark-link{color:#17372b;border-color:#a4aa9f}.contact small{display:block;color:#888b7f;margin-top:32px;font-size:11px}footer{background:#091a12;color:#d9d2c6;padding:34px 0;font-size:11px}footer>div{display:flex;justify-content:space-between;align-items:center;gap:24px}footer .footer-name{font:20px var(--serif);color:#dfbb80}footer a{font-size:10px;letter-spacing:.15em}
.reveal{opacity:0;transform:translateY(45px);transition:opacity 1s ease,transform 1s cubic-bezier(.2,.7,.2,1)}.reveal.visible{opacity:1;transform:none}.tile:nth-child(2){transition-delay:.11s}.tile:nth-child(3){transition-delay:.09s}.tile:nth-child(4){transition-delay:.18s}.rise{animation:rise .9s ease both}.rise:nth-child(2){animation-delay:.13s}.rise:nth-child(3){animation-delay:.24s}.rise:nth-child(4){animation-delay:.38s}@keyframes rise{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){.section-wrap{width:calc(100% - 56px)}.nav nav{display:none;position:absolute;top:88px;right:0;left:0;background:#0a2118;padding:24px;flex-direction:column;gap:26px}.nav nav.open{display:flex}.nav-end{margin-left:auto}.hamb{display:block}.hero-content{padding-left:50px;padding-top:25vh;max-width:85vw}.explore-head{grid-template-columns:1fr;gap:20px}.pillars{gap:20px}.split,.split.reverse{gap:32px}.tile{height:365px}}
@media(max-width:610px){.nav{height:74px;padding:0 20px}.brand img{width:120px;height:60px}.nav nav{top:74px}.nav-end{display:none}.hero{min-height:600px}.hero-content{padding:28vh 25px 0;max-width:none}.hero h1{font-size:clamp(43px,9vw,70px)}.hero-sub{font-size:23px}.hero-actions{gap:18px;flex-wrap:wrap}.hero-bottom{left:23px;right:23px}.hero-bottom>span{display:none}.section-wrap{width:calc(100% - 40px)}.explore{padding:70px 0}.pillars,.tile-grid,.split,.split.reverse{grid-template-columns:1fr}.tile{height:340px}.directory{padding:82px 0}.detail{padding:72px 0}.image-panel{height:280px;grid-row:2}.split.reverse .image-panel{grid-row:2}.about-content{padding:110px 0}.about{min-height:auto}.contact{padding:86px 0}footer>div{flex-direction:column;text-align:center}.hero-content{padding-top:30vh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.rise{animation:none}}

/* WordPress integration refinements */
body.admin-bar .nav{top:32px}
@media (max-width:782px){body.admin-bar .nav{top:46px}}
@media (max-width:600px){body.admin-bar .nav{top:0}}
.nav .brand img{object-position:center}
.theme-editorial-note{font-size:12px;opacity:.65}
.contact-actions{margin-top:28px}
.contact-actions a{margin-right:12px}
@media(max-width:610px){.hero-video{object-position:52% center}.hero-content{padding-top:31vh}}

/* v0.4.0 · Eve Jin online CV and recruiter navigation */
.cv-bridge{padding:44px 48px;border-top:1px solid #b7a88f;border-bottom:1px solid #b7a88f;display:flex;justify-content:space-between;gap:40px;align-items:center;margin-bottom:80px;background:#f7f3eb}
.cv-bridge h2{font:400 clamp(30px,3.5vw,46px)/1.18 var(--serif);letter-spacing:-.025em;margin:18px 0}.cv-bridge h2 em{color:#98794e;font-style:italic}.cv-bridge p{font:13px/1.8 var(--sans);max-width:590px;color:#6b726b}.cv-bridge-button{background:var(--forest);border-color:var(--forest);color:#faf7f0;flex:none;gap:25px}
.resume-section-link{margin-top:30px!important}.resume-section-link a{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--champ);border-bottom:1px solid var(--champ);padding-bottom:7px}
.cv-page{background:#f8f5ee}.cv-page .section-wrap{max-width:1160px}.cv-masthead{background:#0a251a;color:#f9f4e7;min-height:690px;padding:180px 0 110px;position:relative;overflow:hidden}.cv-masthead:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,24,17,.95),rgba(8,36,24,.8)),url('assets/ink-mountain.jpg') center/cover;opacity:.8}.cv-masthead-inner{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:space-between;gap:45px}.cv-masthead h1{font:400 clamp(49px,5.5vw,78px)/1.16 var(--serif);letter-spacing:-.035em;margin:27px 0}.cv-masthead h1 em{font-weight:400;color:var(--champ)}.cv-masthead p{max-width:630px;font-size:16px;line-height:1.9;color:#d8ded2}.cv-hero-actions,.cv-action-row{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:35px}.cv-masthead-side{display:flex;flex-direction:column;gap:12px;border-left:1px solid #a7a184;padding-left:26px;min-width:250px;color:#dbd9cd;font-size:10px;letter-spacing:.12em;line-height:1.7}.cv-masthead-side a{color:#f1c789}
.cv-intro{padding:110px 0;background:#f8f5ee}.cv-intro-grid,.cv-education-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:13%}.cv-page h2{font:400 clamp(39px,4.4vw,63px)/1.16 var(--serif);letter-spacing:-.035em;margin:19px 0}.cv-page h2 em{color:#9d7c4d;font-style:italic;font-weight:400}.cv-intro p{font:16px/2 var(--sans);color:#59665c;margin:42px 0 0}
.cv-credentials{padding:95px 0 120px;background:#efe9dd}.cv-section-heading{margin-bottom:60px}.cv-timeline{border-top:1px solid #b9b2a6}.cv-job{display:grid;grid-template-columns:260px 1fr;gap:70px;padding:42px 0 47px;border-bottom:1px solid #c5baaa}.cv-when{display:flex;flex-direction:column;gap:14px;font:11px/1.5 var(--sans);color:#757468}.cv-when .year{font-weight:700;letter-spacing:.12em;color:#8f6e46}.cv-company{font:11px var(--sans);letter-spacing:.15em;color:#95764d}.cv-job h3{font:400 clamp(26px,2.8vw,36px) var(--serif);margin:12px 0 18px}.cv-job ul{margin:0;padding-left:19px;max-width:730px}.cv-job li{font:14px/1.85 var(--sans);padding-bottom:9px;color:#505d53}.cv-measure-note{font-size:11px;color:#777b72;margin:25px 0 0;line-height:1.7}
.cv-capability-section{padding:110px 0 125px;background:#112d21;color:#f9f2e6}.cv-capability-section .cv-section-heading h2 em{color:#d2aa71}.cv-capability-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.cv-capability-grid>div{border-top:1px solid #8e9275;padding-top:24px}.cv-numeral{font:italic 19px var(--serif);color:#d2aa71}.cv-capability-grid h3{font:400 31px var(--serif);margin:22px 0}.cv-capability-grid p{font:14px/1.85 var(--sans);color:#e0dbca;max-width:280px}
.cv-education{padding:120px 0;background:#f8f5ee}.cv-education-entry{border-bottom:1px solid #c9beab;padding:16px 0 29px;margin-bottom:19px}.cv-education-entry h3{font:400 25px var(--serif);margin:0 0 9px}.cv-education-entry p{font-size:14px;line-height:1.7;margin:0;color:#56665a}.cv-education-entry span{font-size:11px;color:#91704c}.cv-next{background:#071e15;color:#fcf8ed;text-align:center;padding:125px 0}.cv-next h2 em{color:var(--champ)}.cv-next p{color:#d0dbcd;font-size:14px}.cv-action-row{justify-content:center}.cv-mail{color:#f3e8d1;gap:20px}.cv-social-link{font:11px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#e9c48b}.cv-editor-note{font-size:11px!important;opacity:.8;margin-top:20px}
.nav nav a[href*="/cv/"]{color:#e5bd81}
@media(max-width:900px){.cv-masthead-inner{display:block}.cv-masthead-side{margin-top:50px}.cv-bridge{flex-direction:column;align-items:start}.cv-intro-grid,.cv-education-grid{gap:8%}.cv-job{grid-template-columns:180px 1fr;gap:30px}}
@media(max-width:610px){.cv-masthead{padding:140px 0 80px;min-height:auto}.cv-intro,.cv-credentials,.cv-capability-section,.cv-education,.cv-next{padding:70px 0}.cv-bridge{margin-bottom:35px;padding:24px}.cv-bridge-button{width:100%}.cv-intro-grid,.cv-education-grid,.cv-job,.cv-capability-grid{grid-template-columns:1fr}.cv-job{gap:18px;padding:26px 0}.cv-when{gap:4px}.cv-masthead-side{min-width:auto}.cv-hero-actions{gap:18px}.cv-masthead h1{font-size:42px}}
@media(prefers-reduced-motion:reduce){.cv-page .reveal{opacity:1;transform:none}}
