/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-outline-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.inline{display:inline}.table{display:table}.outline{outline-style:var(--tw-outline-style);outline-width:1px}}:root{--ink:#20201d;--paper:#f3f0e8;--lime:#dce86a;--blue:#4466a2;--line:#20201d2e}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-snap-type:y proximity}body{background:var(--paper);color:var(--ink);margin:0;font-family:Microsoft YaHei,PingFang SC,Arial,sans-serif}.site-boot{background:var(--paper);place-content:center;justify-items:center;gap:22px;min-height:100vh;display:grid}.site-boot img{border-radius:20px;width:76px;height:76px}.site-boot span{background:#20201d22;width:90px;height:2px;position:relative;overflow:hidden}.site-boot span:after{content:"";background:var(--blue);animation:1s ease-in-out infinite site-boot;position:absolute;inset:0;transform:translate(-100%)}@keyframes site-boot{50%{transform:translate(0)}to{transform:translate(100%)}}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}.shell{width:min(1180px,100% - 56px);margin:auto}.nav{border-bottom:1px solid var(--line);align-items:center;gap:44px;height:92px;display:flex}.brand{letter-spacing:.04em;font:700 22px Georgia,serif}.brand span{letter-spacing:.26em;margin-top:3px;font:9px Arial,sans-serif;display:block}.navlinks{gap:32px;margin-left:auto;font-size:14px;display:flex}.navlinks a:hover{opacity:.55}.language-switch{letter-spacing:.08em;align-items:center;gap:5px;font:700 10px Arial,sans-serif;display:flex}.language-switch button{color:inherit;opacity:.42;cursor:pointer;background:0 0;border:0;padding:5px 3px}.language-switch button.active{opacity:1;border-bottom:1px solid}.navbutton,.outline{border:1px solid var(--ink);cursor:pointer;background:0 0;padding:11px 18px;transition:all .2s}.navbutton:hover,.outline:hover{background:var(--ink);color:var(--paper)}.hero{grid-template-columns:1.25fr .75fr;align-items:center;gap:80px;min-height:720px;padding-block:70px 90px;display:grid}.eyebrow,.section-no{letter-spacing:.22em;text-transform:uppercase;font-size:11px;font-weight:700}.hero h1,.section h2,footer h2,.modal h2{font-family:Georgia,Noto Serif SC,serif;font-weight:400}.hero h1{letter-spacing:-.045em;margin:28px 0 30px;font-size:clamp(54px,6.1vw,92px);line-height:1.07}.hero h1 em{color:var(--blue);font-weight:400}.lede{color:#55544e;max-width:580px;font-size:18px;line-height:1.8}.actions{align-items:center;gap:30px;margin-top:42px;display:flex}.primary{background:var(--ink);color:#fff;cursor:pointer;border:0;padding:16px 24px;display:inline-block}.textlink{border-bottom:1px solid var(--ink);padding:8px 0}.portrait{background:#d9d2c5;height:510px;padding:18px;position:relative;transform:rotate(1.5deg);box-shadow:0 22px 70px #77725b33}.portrait-inner{text-align:center;color:#777064;background:linear-gradient(145deg,#d7d0c4,#eee9df);border:1px solid #aaa292;place-content:center;height:100%;display:grid}.portrait-inner img{object-fit:cover;width:100%;height:100%;display:block}.portrait-inner span{opacity:.45;font:italic 92px Georgia,serif}.portrait-inner small{letter-spacing:.1em;line-height:1.8}.stamp{background:var(--lime);text-align:center;letter-spacing:.12em;border-radius:50%;place-content:center;width:92px;height:92px;font:700 10px/1.5 Arial;display:grid;position:absolute;bottom:35px;right:-30px;transform:rotate(-10deg)}.section{padding-block:120px}.section h2{letter-spacing:-.035em;margin:20px 0;font-size:clamp(38px,4.3vw,66px);line-height:1.15}.about{border-top:1px solid var(--line);grid-template-columns:1fr 2fr;gap:60px;display:grid}.about>div>p{color:#5b5952;max-width:620px;line-height:1.9}.facts{border-top:1px solid var(--line);grid-column:2;gap:70px;margin-top:20px;padding-top:30px;display:flex}.facts div{flex-direction:column;gap:6px;display:flex}.facts b{font:42px Georgia,serif}.facts span{color:#706e67;font-size:12px}.journey{background:var(--ink);color:var(--paper)}.timeline{border-top:1px solid #ffffff32;margin-top:55px}.timeline article{border-bottom:1px solid #ffffff32;grid-template-columns:180px 1fr;gap:40px;padding:34px 0;display:grid}.timeline time{color:var(--lime);letter-spacing:.12em;font:700 12px Arial}.timeline h3{margin:0 0 10px;font:400 24px Georgia,serif}.timeline p{color:#bbb9b1;margin:0;line-height:1.7}.gallery{background:#e7dfd1;overflow:hidden}.gallery-head{justify-content:space-between;align-items:end;gap:30px;display:flex}.gallery-head h2{margin-bottom:0}.gallery-controls{letter-spacing:.12em;align-items:center;gap:14px;font:700 11px Arial,sans-serif;display:flex}.gallery-controls button{border:1px solid var(--ink);cursor:pointer;background:0 0;border-radius:50%;width:44px;height:44px;transition:all .2s}.gallery-controls button:hover{background:var(--ink);color:var(--paper)}.gallery-stage{background:#cfc5b4;height:min(68vw,680px);min-height:430px;margin-top:42px;position:relative;overflow:hidden}.gallery-stage figure{opacity:0;pointer-events:none;margin:0;transition:opacity .9s,transform 1.2s cubic-bezier(.2,.7,.2,1);position:absolute;inset:0;transform:scale(1.035)}.gallery-stage figure.active{opacity:1;pointer-events:auto;transform:scale(1)}.gallery-stage img{object-fit:cover;width:100%;height:100%;display:block}.gallery-stage figcaption{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f3f0e8e8;max-width:min(500px,100% - 48px);padding:12px 16px;font-size:13px;position:absolute;bottom:24px;left:24px}.gallery-dots{z-index:2;gap:7px;display:flex;position:absolute;bottom:20px;right:20px}.gallery-dots button{cursor:pointer;background:0 0;border:1px solid #fff;border-radius:50%;width:9px;height:9px;padding:0}.gallery-dots button.active{background:#fff}.gallery-empty{color:#6f685d;text-align:center;border:1px dashed #8d8577;place-items:center;min-height:330px;margin-top:42px;padding:30px;display:grid}.journal-head{justify-content:space-between;align-items:end;display:flex}.post-grid{grid-template-columns:1.35fr .65fr;gap:25px;margin-top:45px;display:grid}.post{border:1px solid var(--line);background:#fffdf7;overflow:hidden}.post img,.post-art{object-fit:cover;width:100%;height:290px}.post.feature .post-art{height:400px}.post-art{text-align:center;place-content:center;font:italic 50px/1.05 Georgia,serif;display:grid}.post-art.warm{color:#f5e9d2;background:linear-gradient(145deg,#a45c40,#e4a877)}.post-art.blue{color:#dae4f4;letter-spacing:.1em;background:#5571a4;font-size:33px}.post-body{padding:28px}.post-body time{letter-spacing:.15em;color:#77746b;font-size:10px}.post-body h3{margin:15px 0 10px;font:400 27px/1.3 Georgia,Noto Serif SC,serif}.post-body p{color:#66635c;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;line-height:1.7;display:-webkit-box;overflow:hidden}footer{background:var(--lime);padding:85px 0 35px}footer .shell{grid-template-columns:1fr auto;align-items:end;gap:70px;display:grid}footer p{margin:0}footer h2{margin:12px 0 0;font-size:62px}footer a{border-bottom:1px solid;padding-bottom:6px;font-size:20px}footer small{border-top:1px solid #20201d44;grid-column:1/-1;margin-top:50px;padding-top:26px}.modal-backdrop{z-index:10;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#171713b8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--paper);width:min(620px,100%);max-height:92vh;padding:42px;position:relative;overflow:auto;box-shadow:0 25px 90px #0007}.modal h2{margin:12px 0 28px;font-size:42px}.close{cursor:pointer;background:0 0;border:0;font-size:32px;position:absolute;top:15px;right:20px}form{gap:20px;display:grid}label{letter-spacing:.08em;gap:8px;font-size:12px;font-weight:700;display:grid}input,textarea{border:1px solid var(--line);resize:vertical;background:#fffdf7;outline:none;width:100%;padding:14px}input:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 2px #4466a222}.upload input{padding:10px}.upload span{letter-spacing:0;color:#77746b;font-weight:400}.submit{justify-self:start}.submit:disabled{opacity:.55;cursor:wait}.form-message{min-height:20px;color:var(--blue);margin:0}@media (width<=780px){.shell{width:min(100% - 34px,1180px)}.nav{gap:14px;height:76px}.navlinks{display:none}.language-switch{margin-left:auto}.navbutton{margin-left:0;padding:9px 12px}.hero{grid-template-columns:1fr;gap:45px;min-height:0;padding-block:70px}.hero h1{font-size:51px}.portrait{justify-self:center;width:min(92%,400px);height:420px}.about{grid-template-columns:1fr;gap:20px}.facts{grid-column:1;justify-content:space-between;gap:30px}.facts b{font-size:32px}.section{padding-block:80px}.timeline article{grid-template-columns:80px 1fr;gap:20px}.journal-head{align-items:start;gap:20px}.outline{white-space:nowrap}.post-grid{grid-template-columns:1fr}footer .shell{grid-template-columns:1fr;gap:25px}footer h2{font-size:48px}footer small{grid-column:1}.modal{padding:34px 24px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}.site-boot span:after{animation:none;transform:none}}.admin-page{min-height:100vh;padding-bottom:100px}.admin-top{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;width:min(1180px,100% - 56px);height:84px;margin:auto;display:flex}.admin-top>div{align-items:center;gap:20px;font-size:13px;display:flex}.admin-top>div a{border-bottom:1px solid}.admin-hero{width:min(1180px,100% - 56px);margin:70px auto 45px}.admin-hero h1{margin:18px 0;font:400 clamp(54px,7vw,94px) Georgia,serif}.admin-hero>p:last-child{color:#66635c}.editor-language-switch{gap:8px;margin-top:24px;display:flex}.editor-language-switch button{border:1px solid var(--ink);cursor:pointer;background:0 0;padding:10px 16px}.editor-language-switch button.active{background:var(--ink);color:var(--paper)}.admin-grid{grid-template-columns:1fr 1fr;align-items:start;gap:28px;width:min(1180px,100% - 56px);margin:auto;display:grid}.admin-card{border:1px solid var(--line);background:#fffdf7;padding:38px}.admin-card h2{margin:14px 0 28px;font:400 34px Georgia,serif}.admin-denied{text-align:center;place-items:center;min-height:100vh;display:grid}.admin-denied a{border-bottom:1px solid}.admin-login{background:var(--ink);place-items:center;min-height:100vh;padding:24px;display:grid}.admin-login-card{background:var(--paper);width:min(520px,100%);padding:52px;box-shadow:0 28px 90px #0007}.admin-login-card h1{margin:18px 0 12px;font:400 54px Georgia,serif}.admin-login-card>p:not(.eyebrow){color:#66635c;margin:0 0 28px}.admin-login-card>a{border-bottom:1px solid;margin-top:28px;display:inline-block}.admin-login-error{color:#9b3f32;margin:0}.admin-logout-form{display:block}.admin-logout-form button{cursor:pointer;background:0 0;border:0;border-bottom:1px solid;padding:0}.admin-wide-grid{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:28px;width:min(1280px,100% - 56px);margin:auto;display:grid}.content-editor{gap:42px;display:grid}.admin-sidebar{gap:28px;display:grid;position:sticky;top:24px}.article-editor h2,.media-editor h2{font:400 32px Georgia,serif}.editor-section{border:0;margin:0;padding:0}.editor-section legend{border-bottom:1px solid var(--line);width:100%;margin-bottom:22px;padding-bottom:14px;font:400 28px Georgia,serif}.editor-fields{grid-template-columns:1fr 1fr;gap:18px;display:grid}.repeat-list{grid-column:1/-1}.editor-fields>label:has(textarea){grid-column:1/-1}.repeat-list{gap:12px;display:grid}.repeat-list h3{margin:8px 0 0;font-size:13px}.repeat-row{grid-template-columns:120px 1fr auto;gap:10px;display:grid}.repeat-row button,.experience-edit button,.add-row{border:1px solid var(--line);cursor:pointer;background:0 0;padding:10px}.experience-edit{border:1px solid var(--line);grid-template-columns:120px 1fr;gap:10px;padding:16px;display:grid}.experience-edit textarea,.experience-edit button{grid-column:1/-1}.add-row{justify-self:start}.sticky-save{border-top:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffdf7ee;align-items:center;gap:18px;padding:18px 0 4px;display:flex;position:sticky;bottom:0}.preview-link{border-bottom:1px solid;margin-top:28px;display:inline-block}.admin-loading{padding:80px}.empty-post{align-items:center;min-height:260px;display:grid}.media-editor hr{border:0;border-top:1px solid var(--line);margin:34px 0}.admin-portrait-preview{aspect-ratio:4/5;object-fit:cover;width:100%;margin-bottom:20px}.admin-gallery-list{gap:10px;max-height:480px;margin-top:20px;display:grid;overflow:auto}.admin-gallery-list>div{border:1px solid var(--line);grid-template-columns:70px 1fr auto;align-items:center;gap:10px;padding:8px;display:grid}.admin-gallery-list img{object-fit:cover;width:70px;height:54px}.admin-gallery-list span{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.admin-gallery-list button{color:#8b3f31;cursor:pointer;background:0 0;border:0}@media (width<=780px){.admin-top,.admin-hero,.admin-grid{width:calc(100% - 34px)}.admin-top>div span{display:none}.admin-grid{grid-template-columns:1fr}.admin-card{padding:26px 20px}}@media (width<=900px){.admin-wide-grid{grid-template-columns:1fr;width:calc(100% - 34px)}.admin-sidebar{position:static}.editor-fields{grid-template-columns:1fr}.repeat-list{grid-column:1}.editor-fields>label:has(textarea){grid-column:1}.repeat-row,.experience-edit{grid-template-columns:1fr}.experience-edit textarea,.experience-edit button{grid-column:1}}.access-gate{background:var(--ink);place-items:center;min-height:100vh;padding:24px;display:grid}.gate-card{background:var(--paper);width:min(560px,100%);padding:56px;box-shadow:0 28px 90px #0007}.gate-card h1{margin:22px 0;font:400 clamp(42px,6vw,64px)/1.08 Georgia,serif}.gate-card>p:not(.eyebrow){color:#625f57;line-height:1.8}.gate-card form{margin-top:30px}.gate-mark{float:right;background:var(--lime);border-radius:50%;place-items:center;width:74px;height:74px;font:700 22px Georgia,serif;display:grid}.admin-entry{border-bottom:1px solid;margin-top:36px;font-size:12px;display:inline-block}.access-admin{border:1px solid var(--line);background:#fffdf7;width:min(1280px,100% - 56px);margin:0 auto 28px;padding:34px}.access-admin-head{justify-content:space-between;align-items:end;display:flex}.access-admin h2{margin:10px 0 0;font:400 34px Georgia,serif}.request-list{border-top:1px solid var(--line);margin-top:24px}.request-list article{border-bottom:1px solid var(--line);grid-template-columns:1fr auto auto;align-items:center;gap:20px;padding:16px 0;display:grid}.request-list article>div:first-child{flex-direction:column;gap:5px;display:flex}.request-list small{color:#77746b}.request-list article>div:last-child{gap:8px;display:flex}.request-list button{border:1px solid var(--ink);cursor:pointer;background:0 0;padding:8px 13px}.request-status{background:#ddd;padding:5px 9px;font-size:12px}.request-status.approved{background:#dce86a}.request-status.rejected{background:#e6c8c0}.empty-requests{color:#77746b;margin-top:24px}@media (width<=700px){.gate-card{padding:38px 24px}.access-admin{width:calc(100% - 34px);padding:25px 20px}.request-list article{grid-template-columns:1fr auto}.request-list article>div:last-child{grid-column:1/-1}}.snap-section{scroll-snap-align:start;scroll-snap-stop:normal}.reveal{opacity:.18;filter:saturate(.65);transition:opacity .85s cubic-bezier(.2,.7,.2,1),filter .85s}.reveal>.shell,.reveal.hero,.reveal.about{transition:transform .9s cubic-bezier(.2,.75,.2,1);transform:translateY(42px)}.reveal.is-visible{opacity:1;filter:saturate()}.reveal.is-visible>.shell,.reveal.is-visible.hero,.reveal.is-visible.about{transform:translateY(0)}.reveal .hero-copy,.reveal .section-no,.reveal h2,.reveal .post-grid,.reveal .timeline{transition:opacity .7s 80ms,transform .8s cubic-bezier(.2,.75,.2,1) 80ms}.reveal:not(.is-visible) .hero-copy,.reveal:not(.is-visible) .section-no,.reveal:not(.is-visible) h2,.reveal:not(.is-visible) .post-grid,.reveal:not(.is-visible) .timeline{opacity:.15;transform:translateY(24px)}@media (prefers-reduced-motion:reduce){html{scroll-snap-type:none}.reveal,.reveal>*{opacity:1!important;filter:none!important;transform:none!important}}@media (width<=780px){.gallery-head{flex-direction:column;align-items:start}.gallery-stage{height:68vh;min-height:420px}.gallery-controls{justify-content:space-between;align-self:stretch}}@media (prefers-reduced-motion:reduce){.gallery-stage figure{transition:none}}.resume-site{--resume-ink:#17221c;--resume-paper:#f5f1e7;--resume-soft:#e7eadf;--resume-rust:#a6462f;--resume-line:#17221c33;background:var(--resume-paper);min-height:100vh;color:var(--resume-ink);font-family:Microsoft YaHei,PingFang SC,Arial,sans-serif}.resume-nav{border-bottom:1px solid var(--resume-line);align-items:center;gap:42px;width:min(1320px,100% - 64px);height:92px;margin:auto;display:flex}.resume-wordmark{flex-direction:column;gap:4px;display:flex}.resume-wordmark b{font:600 22px Georgia,Times New Roman,serif}.resume-wordmark span{letter-spacing:.22em;font:700 9px Arial,sans-serif}.resume-nav nav{gap:30px;margin-left:auto;font-size:13px;display:flex}.resume-nav nav a:hover{color:var(--resume-rust)}.resume-admin-link{border:1px solid var(--resume-ink);padding:10px 15px;font-size:12px;transition:all .2s}.resume-admin-link:hover{color:var(--resume-paper);background:var(--resume-ink)}.resume-hero{grid-template-columns:minmax(0,1fr) 390px;align-items:center;gap:100px;width:min(1320px,100% - 64px);min-height:700px;margin:auto;padding:82px 0 100px;display:grid}.resume-kicker,.resume-section-heading>p,.resume-card-label,.resume-footer>div>p{letter-spacing:.24em;color:var(--resume-rust);margin:0;font:700 10px Arial,sans-serif}.resume-hero h1{letter-spacing:-.055em;max-width:820px;margin:24px 0 28px;font:400 clamp(58px,6.4vw,104px)/.98 Georgia,Noto Serif SC,serif}.resume-role{color:#4d5850;letter-spacing:.06em;align-items:center;gap:12px;font-size:14px;display:flex}.resume-role span{color:var(--resume-rust)}.resume-summary{color:#505a53;max-width:720px;margin:30px 0 0;font-size:18px;line-height:1.9}.resume-actions{flex-wrap:wrap;gap:12px;margin-top:42px;display:flex}.resume-primary,.resume-secondary{justify-content:center;align-items:center;min-height:48px;padding:0 22px;font-size:13px;font-weight:700;display:inline-flex}.resume-primary{color:#fff;background:var(--resume-rust)}.resume-secondary{border:1px solid var(--resume-ink)}.resume-identity-card{background:var(--resume-soft);grid-template-rows:340px auto;align-self:stretch;gap:28px;padding:22px;display:grid;transform:rotate(1deg);box-shadow:0 24px 70px #17221c1a}.resume-portrait{background:#c9cec1;place-items:center;min-height:0;display:grid;overflow:hidden}.resume-portrait img{object-fit:cover;width:100%;height:100%}.resume-portrait>span{color:#17221c66;font:italic 86px Georgia,serif}.resume-identity-card h2{margin:10px 0 4px;font:400 38px Georgia,serif}.resume-identity-card>div>p:not(.resume-card-label){color:#59625b;margin:0}.resume-identity-card dl{border-top:1px solid var(--resume-line);margin:22px 0 0}.resume-identity-card dl div{border-bottom:1px solid var(--resume-line);grid-template-columns:58px 1fr;gap:12px;padding:10px 0;font-size:12px;line-height:1.55;display:grid}.resume-identity-card dt{color:#717a73}.resume-identity-card dd{overflow-wrap:anywhere;margin:0}.resume-intro-band{background:var(--resume-ink);color:#e9ece5;grid-template-columns:1.4fr 1fr;align-items:center;gap:80px;padding:84px max(32px,50vw - 660px);display:grid}.resume-intro-band>p{margin:0;font:400 clamp(29px,3.2vw,49px)/1.35 Georgia,Noto Serif SC,serif}.resume-focus{flex-wrap:wrap;gap:10px;display:flex}.resume-focus span{border:1px solid #fff4;padding:10px 14px;font-size:12px}.resume-metrics{border-inline:1px solid var(--resume-line);grid-template-columns:repeat(3,1fr);width:min(1320px,100% - 64px);margin:auto;display:grid}.resume-metrics div{border-right:1px solid var(--resume-line);flex-direction:column;justify-content:end;gap:8px;min-height:160px;padding:38px;display:flex}.resume-metrics div:last-child{border:0}.resume-metrics strong{font:400 32px Georgia,serif}.resume-metrics span{color:#677068;font-size:12px}.resume-section{border-top:1px solid var(--resume-line);padding:120px max(32px,50vw - 660px)}.resume-section-soft{background:#ede9dd}.resume-section-heading{grid-template-columns:230px 1fr;align-items:start;gap:30px;margin-bottom:58px;display:grid}.resume-section-heading h2{letter-spacing:-.045em;margin:0;font:400 clamp(43px,5vw,72px)/1 Georgia,Noto Serif SC,serif}.resume-timeline{border-top:1px solid var(--resume-line)}.resume-entry{border-bottom:1px solid var(--resume-line);grid-template-columns:230px 1fr;gap:30px;padding:40px 0;display:grid}.resume-entry-meta{flex-direction:column;gap:8px;font-size:12px;display:flex}.resume-entry-meta time{color:var(--resume-rust);font-weight:700}.resume-entry-meta span{color:#717970}.resume-entry-content h3,.resume-research-card h3{margin:0;font:400 28px/1.25 Georgia,Noto Serif SC,serif}.resume-organization{letter-spacing:.04em;margin:8px 0 0;font-size:13px;font-weight:700}.resume-entry-summary{color:#515a53;max-width:850px;margin:18px 0 0;line-height:1.8}.resume-entry-content ul{color:#525b54;margin:20px 0 0;padding-left:18px;line-height:1.8}.resume-entry-content li+li{margin-top:7px}.resume-tags{flex-wrap:wrap;gap:7px;margin-top:20px;display:flex}.resume-tags span{border:1px solid var(--resume-line);letter-spacing:.05em;background:#17221c0d;padding:6px 9px;font-size:10px}.resume-entry-links,.resume-document-actions{gap:18px;margin-top:22px;display:flex}.resume-entry-links a,.resume-document-actions a{color:var(--resume-rust);border-bottom:1px solid;padding-bottom:3px;font-size:12px;font-weight:700}.resume-research{background:var(--resume-ink);color:#f2eee5}.resume-research .resume-section-heading>p{color:#d56c4f}.resume-research-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.resume-research-card{border:1px solid #ffffff29;flex-direction:column;min-height:360px;padding:36px;display:flex}.resume-research-card .resume-entry-meta{color:#b7bdb8;flex-direction:row;justify-content:space-between}.resume-research-card h3{margin-top:36px;font-size:34px}.resume-research-card .resume-organization{color:#d9ddd7}.resume-research-card .resume-entry-summary{color:#b8beb8}.resume-research-card .resume-tags{margin-top:auto}.resume-research-card .resume-tags span{background:#ffffff09;border-color:#ffffff32}.resume-research-card .resume-entry-links a{color:#e08369}.resume-skill-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.resume-skill-grid article{border:1px solid var(--resume-line);background:#fffdf7;min-height:230px;padding:30px}.resume-skill-grid h3{margin:0 0 18px;font:400 25px Georgia,serif}.resume-skill-grid p{color:#59625a;line-height:1.7}.resume-languages{border-top:1px solid var(--resume-line);align-items:center;gap:14px;margin-top:38px;padding-top:24px;display:flex}.resume-languages>span{color:#727a73;margin-right:auto;font-size:12px}.resume-languages b{border:1px solid var(--resume-line);padding:8px 12px;font-size:11px}.resume-documents{background:#e5eadf}.resume-document-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.resume-document-grid article{background:var(--resume-paper);border:1px solid var(--resume-line);grid-template-columns:120px 1fr;gap:28px;min-height:260px;padding:26px;display:grid}.resume-pdf-mark{background:var(--resume-rust);color:#fff;flex-direction:column;justify-content:space-between;min-height:170px;padding:18px;display:flex}.resume-pdf-mark span{font:700 31px Arial,sans-serif}.resume-pdf-mark small{opacity:.75}.resume-document-grid h3{margin:10px 0 14px;font:400 27px Georgia,serif}.resume-document-grid p{color:#59625a;line-height:1.7}.resume-empty{border:1px dashed var(--resume-line);color:#717970;text-align:center;place-items:center;min-height:180px;margin:0;padding:30px;display:grid}.resume-footer{background:var(--resume-rust);color:#fff;grid-template-columns:1fr auto;align-items:end;gap:60px;padding:90px max(32px,50vw - 660px) 34px;display:grid}.resume-footer>div>p{color:#ffd9ce}.resume-footer h2{max-width:850px;margin:16px 0;font:400 clamp(42px,5vw,72px)/1.05 Georgia,serif}.resume-footer>div>span{color:#f2c8bd}.resume-footer>a{border-bottom:1px solid;padding-bottom:5px;font-size:19px}.resume-footer small{opacity:.7;border-top:1px solid #fff5;grid-column:1/-1;padding-top:26px}.pdf-viewer-page{color:#f4efe5;background:#171c19;min-height:100vh}.pdf-viewer-header{grid-template-columns:180px 1fr auto;align-items:center;gap:30px;width:min(1400px,100% - 48px);min-height:160px;margin:auto;display:grid}.pdf-viewer-header>div:first-child{flex-direction:column;gap:10px;display:flex}.pdf-viewer-header>div:first-child span{color:#aab2ac;letter-spacing:.2em;font:700 9px Arial}.pdf-viewer-title h1{margin:0;font:400 28px Georgia,serif}.pdf-viewer-title p{color:#aab2ac;margin:7px 0 0}.pdf-viewer-shell{width:min(1400px,100% - 48px);margin:auto;padding-bottom:36px}.pdf-viewer-shell iframe{background:#fff;border:0;width:100%;height:calc(100vh - 210px);min-height:650px}.pdf-viewer-shell>p{color:#aab2ac;margin:12px 0 0;font-size:12px}.pdf-viewer-shell>p a{color:#fff;border-bottom:1px solid;margin-left:4px}.resume-admin{--ra-ink:#17221c;--ra-paper:#f3f0e8;--ra-rust:#a6462f;--ra-line:#17221c2e;background:var(--ra-paper);min-height:100vh;color:var(--ra-ink);padding-bottom:100px}.resume-admin-top{border-bottom:1px solid var(--ra-line);justify-content:space-between;align-items:center;width:min(1380px,100% - 56px);height:80px;margin:auto;display:flex}.resume-admin-top>a{flex-direction:column;display:flex}.resume-admin-top>a b{font:600 20px Georgia,serif}.resume-admin-top>a span{letter-spacing:.2em;font:700 8px Arial}.resume-admin-top>div{align-items:center;gap:18px;font-size:12px;display:flex}.resume-admin-top>div>a,.resume-admin-top form button{cursor:pointer;background:0 0;border:0;border-bottom:1px solid;padding:0}.resume-admin-intro{width:min(1380px,100% - 56px);margin:60px auto 36px}.resume-admin-intro>p{color:var(--ra-rust);letter-spacing:.23em;font:700 10px Arial}.resume-admin-intro h1{margin:16px 0;font:400 clamp(48px,6vw,80px)/1 Georgia,serif}.resume-admin-intro span{color:#5f6861}.resume-admin-status{color:#fff;z-index:5;background:#17221c;align-items:center;gap:10px;width:min(1380px,100% - 56px);min-height:48px;margin:0 auto 22px;padding:13px 16px;font-size:12px;display:flex;position:sticky;top:0}.resume-admin-status>span{background:#72a27e;border-radius:50%;width:8px;height:8px}.resume-admin-status>span.busy{background:#e8ad5b;animation:1s infinite resume-pulse}@keyframes resume-pulse{50%{opacity:.35}}.resume-admin-layout{grid-template-columns:minmax(0,1fr) 390px;align-items:start;gap:22px;width:min(1380px,100% - 56px);margin:auto;display:grid}.resume-admin-main,.resume-admin-sidebar{gap:22px;display:grid}.resume-admin-sidebar{position:sticky;top:68px}.resume-admin-card{border:1px solid var(--ra-line);background:#fffdf7;padding:30px}.resume-admin-card>small,.resume-admin-card-head small{color:var(--ra-rust);letter-spacing:.2em;font:700 9px Arial}.resume-admin-card h2{margin:8px 0 22px;font:400 30px Georgia,serif}.resume-admin-card-head{border-bottom:1px solid var(--ra-line);justify-content:space-between;align-items:start;gap:24px;margin-bottom:28px;padding-bottom:18px;display:flex}.resume-admin-card-head h2{margin-bottom:5px}.resume-admin-card-head p{color:#6a726c;margin:0;font-size:12px}.resume-admin-card-head>button{border:1px solid var(--ra-ink);cursor:pointer;white-space:nowrap;background:0 0;padding:10px 14px}.resume-profile-editor{gap:32px;display:grid}.resume-profile-editor fieldset{border:0;margin:0;padding:0}.resume-profile-editor legend{width:100%;margin-bottom:16px;font:600 17px Georgia,serif}.resume-admin-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.resume-admin-fields label:has(textarea){grid-column:1/-1}.resume-admin input,.resume-admin textarea,.resume-admin select{border:1px solid var(--ra-line);background:#f8f5ed;outline:none;width:100%;padding:11px}.resume-admin input:focus,.resume-admin textarea:focus,.resume-admin select:focus{border-color:var(--ra-rust);box-shadow:0 0 0 2px #a6462f18}.resume-admin label{letter-spacing:.04em;gap:7px;font-size:11px;font-weight:700;display:grid}.resume-admin button:disabled{opacity:.45;cursor:wait}.resume-admin-save{color:#fff;cursor:pointer;background:var(--ra-rust)!important;border:0!important;padding:12px 16px!important}.resume-metric-editor{gap:9px;display:grid}.resume-metric-editor>div{grid-template-columns:1fr 1fr auto;gap:8px;display:grid}.resume-metric-editor button,.resume-admin-entry-actions button,.resume-admin-documents button{border:1px solid var(--ra-line);cursor:pointer;background:0 0;padding:9px 12px}.resume-admin-entry-list{gap:10px;display:grid}.resume-admin-entry-list details{border:1px solid var(--ra-line)}.resume-admin-entry-list summary{cursor:pointer;justify-content:space-between;align-items:center;padding:16px;list-style:none;display:flex}.resume-admin-entry-list summary::-webkit-details-marker{display:none}.resume-admin-entry-list summary span{flex-direction:column;gap:5px;display:flex}.resume-admin-entry-list summary small{color:#777f78}.resume-admin-entry-list summary i{color:var(--ra-rust);font-size:11px;font-style:normal}.resume-admin-entry-fields{border-top:1px solid var(--ra-line);grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;padding:18px;display:grid}.resume-admin-entry-fields .wide{grid-column:1/-1}.resume-checkbox{grid-template-columns:18px 1fr;align-self:end;align-items:center;min-height:43px;display:flex!important}.resume-checkbox input{width:16px;height:16px}.resume-admin-entry-actions{gap:8px;padding:0 18px 18px;display:flex}.resume-admin .danger{color:#9f3728;border-color:#9f372855!important}.resume-admin-empty{color:#777f78;border:1px dashed var(--ra-line);text-align:center;padding:30px}.resume-admin-portrait{aspect-ratio:4/5;object-fit:cover;width:100%;margin-bottom:18px}.resume-admin-sidebar form{gap:14px;display:grid}.resume-document-editor{max-height:calc(100vh - 95px);overflow:auto}.resume-admin-documents{gap:12px;margin-top:24px;display:grid}.resume-admin-documents article{border:1px solid var(--ra-line);gap:8px;padding:14px;display:grid}.resume-admin-documents article>small{color:#777f78}.resume-admin-documents article>div{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.resume-admin-documents article>div a{color:var(--ra-rust);border-bottom:1px solid;margin-right:auto;font-size:11px}.resume-admin-loading{padding:80px}@media (width<=960px){.resume-nav{gap:14px;width:calc(100% - 34px)}.resume-nav nav{display:none}.resume-admin-link{margin-left:auto}.resume-hero{grid-template-columns:1fr;gap:45px;width:calc(100% - 34px);padding-block:65px}.resume-identity-card{justify-self:center;width:min(460px,100%);transform:none}.resume-hero h1{font-size:58px}.resume-intro-band{grid-template-columns:1fr;gap:35px}.resume-metrics{width:calc(100% - 34px)}.resume-section-heading,.resume-entry,.resume-research-grid,.resume-document-grid{grid-template-columns:1fr}.resume-skill-grid{grid-template-columns:1fr 1fr}.resume-admin-layout{grid-template-columns:1fr;width:calc(100% - 34px)}.resume-admin-sidebar{position:static}.resume-document-editor{max-height:none}.resume-admin-top,.resume-admin-intro,.resume-admin-status{width:calc(100% - 34px)}.pdf-viewer-header{grid-template-columns:1fr auto;padding-block:24px}.pdf-viewer-title{grid-area:2/1/auto/-1}.pdf-viewer-shell iframe{height:75vh;min-height:520px}}@media (width<=640px){.resume-hero h1{font-size:46px}.resume-summary{font-size:16px}.resume-identity-card{grid-template-rows:300px auto}.resume-intro-band{padding-block:60px}.resume-intro-band>p{font-size:28px}.resume-metrics{border:0;grid-template-columns:1fr}.resume-metrics div{border:0;border-bottom:1px solid var(--resume-line);min-height:110px;padding:24px 0}.resume-section{padding-block:80px}.resume-section-heading{margin-bottom:36px}.resume-research-card{min-height:320px;padding:26px}.resume-skill-grid{grid-template-columns:1fr}.resume-document-grid article{grid-template-columns:86px 1fr;gap:17px;padding:17px}.resume-pdf-mark{min-height:140px}.resume-footer{grid-template-columns:1fr}.resume-footer small{grid-column:1}.resume-admin-top>div>span{display:none}.resume-admin-intro h1{font-size:43px}.resume-admin-card{padding:22px 17px}.resume-admin-card-head{flex-direction:column}.resume-admin-fields,.resume-admin-entry-fields{grid-template-columns:1fr}.resume-admin-entry-fields .wide{grid-column:1}.resume-admin-fields label:has(textarea){grid-column:1}.resume-metric-editor>div{grid-template-columns:1fr}.pdf-viewer-header{width:calc(100% - 28px)}.pdf-viewer-shell{width:100%}.pdf-viewer-shell iframe{min-height:480px}}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}
