@font-face{font-family:Jacques Francois Shadow;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/jacques-francois-shadow-latin-400-normal.GB2Zdf8E.woff2) format("woff2"),url(/_astro/jacques-francois-shadow-latin-400-normal.Dpdc5bBD.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Instrument Serif";font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/instrument-serif-latin-ext-400-normal.C2je3j2s.woff2) format("woff2"),url(/_astro/instrument-serif-latin-ext-400-normal.CFCUzsTy.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Instrument Serif";font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/instrument-serif-latin-400-normal.DnYpCC2O.woff2) format("woff2"),url(/_astro/instrument-serif-latin-400-normal.BVbkICAY.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-wght-normal.DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-ext-wght-normal.DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-wght-normal.CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-vietnamese-wght-normal.CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-wght-normal.DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/outfit-latin-ext-600-normal.B85nYjL1.woff2) format("woff2"),url(/_astro/outfit-latin-ext-600-normal.CWJcPgd7.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/outfit-latin-600-normal.B7SfZ07L.woff2) format("woff2"),url(/_astro/outfit-latin-600-normal.BEfTtDA7.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/outfit-latin-ext-700-normal.CI4iH74K.woff2) format("woff2"),url(/_astro/outfit-latin-ext-700-normal.fjS8-Gm7.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/outfit-latin-700-normal.Cu9v6i1X.woff2) format("woff2"),url(/_astro/outfit-latin-700-normal.D4itBLBr.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:800;src:url(/_astro/outfit-latin-ext-800-normal.DRv2ic_2.woff2) format("woff2"),url(/_astro/outfit-latin-ext-800-normal.DyhPHUt-.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:800;src:url(/_astro/outfit-latin-800-normal.CQna6-G7.woff2) format("woff2"),url(/_astro/outfit-latin-800-normal.BRHLSPcU.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--black: #000;--ink: #0a0a0a;--white: #fff;--pink: #ffbef3;--paper: #fdfdfb;--floor: #d9d9d9;--header-h: 76px;--line-h: 5px;--font-display: "Jacques Francois Shadow", "Times New Roman", serif;--font-serif: "Instrument Serif", Georgia, serif;--work-bg: #fff;--work-card: #fff;--work-ink: #000;--work-dot-s: #c9c9c9;--work-dot-m: #666;--work-vine: #a8a398;--font-work: "Outfit", "Helvetica Neue", Arial, sans-serif;--font-sans: "Inter Variable", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--u: min(1vw, 1.5svh);--gutter: max(16px, 5vw)}*,*:before,*:after{box-sizing:border-box}@media(prefers-color-scheme:dark){:root{--work-bg: #000;--work-card: #0c0c0c;--work-ink: #fff;--work-dot-s: #3a3a3a;--work-dot-m: #999;--work-vine: #55524b}}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;background:var(--black)}body{margin:0;background:var(--black);color:var(--white);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}img{max-width:100%;display:block}button{font:inherit;color:inherit}a{color:inherit}:focus-visible{outline:3px solid var(--pink);outline-offset:3px;border-radius:6px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip-link{position:fixed;left:12px;top:-60px;z-index:200;background:var(--white);color:var(--black);padding:10px 16px;border-radius:999px;font-weight:600;text-decoration:none;transition:top .2s}.skip-link:focus{top:12px}.site-header{position:fixed;inset:0 0 auto;z-index:50;height:calc(var(--header-h) + var(--line-h));background:var(--ink);border-bottom:var(--line-h) solid var(--white);transition:background-color .3s,border-color .3s;--hdr-ink: var(--white);--hdr-dot-s: #3a3a3a;--hdr-dot-m: #999}.site-header[data-theme=light]{--hdr-ink: var(--work-ink);--hdr-dot-s: var(--work-dot-s);--hdr-dot-m: var(--work-dot-m);background:var(--work-card);border-bottom-color:var(--work-ink)}.site-header[data-theme=light] .logo{color:var(--work-ink)}.site-header[data-theme=light] .logo__p{background:var(--work-ink);color:var(--work-card)}.site-header__inner{height:var(--header-h);display:flex;align-items:center;justify-content:space-between;padding-inline:max(16px,11.8vw) max(16px,4.3vw)}.logo{display:inline-flex;align-items:center;text-decoration:none;font-family:var(--font-display);font-size:clamp(28px,3vw,46px);line-height:1;letter-spacing:.04em;color:var(--white)}.logo__p{display:inline-grid;place-items:center;width:1.15em;height:1.15em;border-radius:50%;background:var(--white);color:var(--black);margin-right:-.06em;padding-top:.06em}.header-title{position:absolute;left:50%;top:calc(var(--header-h) / 2);transform:translate(-50%,-50%);display:flex;align-items:center;gap:clamp(8px,1.6vw,24px);color:var(--hdr-ink);opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s;pointer-events:none}.header-title[data-on=true]{opacity:1;visibility:visible}.site-header[data-section=about] .header-title{transition:none}.header-title__text{margin:0 clamp(4px,.6vw,10px);font-family:var(--font-work);font-weight:800;font-size:clamp(26px,3.1 * var(--u),46px);letter-spacing:-.01em;white-space:nowrap}.dot{border-radius:50%;flex:none}.dot--s{width:17px;height:17px;background:var(--hdr-dot-s)}.dot--m{width:28px;height:28px;background:var(--hdr-dot-m)}.dot--l{width:36px;height:36px;background:var(--hdr-ink)}.dot,.header-title__text{transition:background-color .3s,color .3s}@media(max-width:1200px){.site-header[data-section=work] .header-title{left:auto;right:max(16px,4.3vw);transform:translateY(-50%)}.header-title .dot--s{display:none}}@media(max-width:1050px){.site-header[data-section=about] .header-title .dot--m{display:none}}.nav{display:flex;gap:clamp(12px,3vw,48px);transition:opacity .35s,visibility .35s}.site-header[data-nav=false] .nav{opacity:0;visibility:hidden}.nav__about{max-width:320px;transition:max-width .45s,margin .45s,opacity .2s,visibility 0s}.site-header[data-section=about] .nav__about{max-width:0;margin-right:calc(-1*clamp(12px,3vw,48px));opacity:0;visibility:hidden;overflow:hidden;transition:max-width .45s,margin .45s,opacity .2s,visibility 0s .45s}.nav a{display:inline-flex;align-items:center;gap:6px;text-decoration:none;font-family:var(--font-display);font-size:clamp(16px,1.75vw,27px);letter-spacing:.04em}.nav a img{width:clamp(34px,3.5vw,52px);height:auto;transition:transform .25s}.nav a:hover img,.nav a:focus-visible img{transform:scale(1.12) rotate(-8deg)}.blur-veil{position:absolute;inset:0;z-index:5;pointer-events:none;transition:backdrop-filter .25s ease-out,-webkit-backdrop-filter .25s ease-out}.scroll-cue{filter:blur(var(--page-blur, 0px));transition:filter .25s ease-out}.hero .blur-veil{-webkit-mask-image:linear-gradient(to left,transparent,#000 180px);mask-image:linear-gradient(to left,transparent,#000 180px)}.about .blur-veil{-webkit-mask-image:linear-gradient(to right,transparent,#000 180px);mask-image:linear-gradient(to right,transparent,#000 180px)}@media(max-width:820px){.hero .blur-veil{-webkit-mask-image:linear-gradient(to top,transparent,#000 180px);mask-image:linear-gradient(to top,transparent,#000 180px)}.about .blur-veil{-webkit-mask-image:linear-gradient(to bottom,transparent,#000 180px);mask-image:linear-gradient(to bottom,transparent,#000 180px)}}.section{position:relative;min-height:100vh;min-height:100svh;overflow:hidden}.floor{position:absolute;left:0;right:0;bottom:0;height:clamp(28px,4.5svh,46px);background:var(--floor)}.hero{background:var(--black)}.hero__stage{position:absolute;inset:calc(var(--header-h) + var(--line-h)) 0 clamp(28px,4.5svh,46px) 0}.hero__word{position:absolute;margin:0;transform:translate(-50%,-50%);font-family:var(--font-display);font-weight:400;font-size:clamp(58px,8.4 * var(--u),150px);line-height:1;letter-spacing:.04em;white-space:nowrap;color:var(--white)}.hero__word--hi{left:20.8%;top:26%}.hero__word--im{left:32.3%;top:49.7%}.hero__word--name{left:58%;top:53.8%}.hero h1{margin:0;font:inherit}.heart{position:absolute;transform:translate(-50%,-50%);overflow:visible;pointer-events:none}.heart path{fill:var(--pink);fill-opacity:0;stroke:var(--pink);stroke-width:1.6;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;stroke-linejoin:round;animation:heart-trace var(--trace, 1.2s) cubic-bezier(.55,.1,.35,1) var(--delay, 0s) forwards,heart-fill .55s ease-out calc(var(--delay, 0s) + var(--trace, 1.2s) - .15s) forwards}@keyframes heart-trace{to{stroke-dashoffset:0}}@keyframes heart-fill{to{fill-opacity:1}}.scroll-cue{position:absolute;right:max(16px,3.4vw);bottom:calc(clamp(28px,4.5svh,46px) + 4px);z-index:2;display:flex;align-items:flex-end;gap:4px;text-decoration:none;font-family:var(--font-display);font-size:clamp(16px,1.95vw,30px);letter-spacing:.06em;color:var(--white)}.scroll-cue svg{width:clamp(18px,2vw,30px);height:auto;margin-bottom:.6em}.scroll-cue path{stroke-dasharray:3 4;animation:march 1.2s linear infinite}@keyframes march{to{stroke-dashoffset:-14}}.about{background:var(--black)}.about__lines{position:absolute;inset:calc(var(--header-h) + var(--line-h)) auto clamp(28px,4.5svh,46px) 0;width:20vw;height:auto;pointer-events:none}.about__content{position:relative;z-index:2;padding:calc(var(--header-h) + 14svh) 0 0 15.3vw;max-width:57.3vw}.about__text{margin:0;font-family:var(--font-serif);font-size:clamp(20px,2.9 * var(--u),46px);line-height:1.2;color:var(--white);text-wrap:pretty}.about__links{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:12svh}.pill-btn{display:inline-grid;place-items:center;min-width:8.7em;height:2.6em;padding:0 1.2em;border-radius:999px;background:var(--white);color:var(--black);font-family:var(--font-serif);font-size:clamp(16px,1.6vw,24px);text-decoration:none;box-shadow:0 4px 6px 4px #ffffff40;transition:transform .2s,box-shadow .2s}.pill-btn:hover{transform:translateY(-2px);box-shadow:0 6px 14px 6px #ffffff4d}.room{position:absolute;right:.5vw;bottom:clamp(28px,4.5svh,46px);width:min(36vw,70svh * 1.11);aspect-ratio:922 / 830;z-index:1}.room img{width:100%;height:100%;transition:filter .6s ease}.room[data-lights=off] img{filter:brightness(.07) saturate(.3);transition:filter .25s ease}.room[data-lights=flicker] img{animation:flicker .7s steps(1) forwards}@keyframes flicker{0%{filter:brightness(.07)}15%{filter:brightness(1)}25%{filter:brightness(.1)}40%{filter:brightness(.9)}50%{filter:brightness(.2)}65%,to{filter:brightness(1)}}.lamp-hit{position:absolute;left:66%;top:0;width:29%;height:100%;background:transparent;border:0;padding:0;cursor:pointer;clip-path:polygon(0 0,100% 0,100% 30%,60% 30%,60% 100%,40% 100%,40% 30%,0 30%)}.work{background-color:var(--work-bg);color:var(--work-ink);display:flex;flex-direction:column}.work__bg{position:absolute;inset:0;z-index:0;pointer-events:none;background-color:var(--work-vine);-webkit-mask:url(/img/vines-mask.png) center / cover no-repeat;mask:url(/img/vines-mask.png) center / cover no-repeat}.work__grid{position:relative;z-index:2;flex:1;display:grid;grid-template-columns:42% 58%;align-items:start;padding:calc(var(--header-h) + var(--line-h) + clamp(24px,6.5 * var(--u),100px)) 2vw clamp(24px,4 * var(--u),60px)}.work__col{display:flex;flex-direction:column;align-items:center;gap:clamp(16px,2.8 * var(--u),44px)}.label-pill{display:inline-grid;place-items:center;margin:0;height:clamp(48px,4 * var(--u),62px);padding:0 clamp(16px,1.6vw,26px);min-width:clamp(150px,15 * var(--u),230px);border:2px solid var(--work-ink);border-radius:999px;background:var(--work-card);color:var(--work-ink);font-family:var(--font-work);font-weight:700;font-size:clamp(20px,2.2 * var(--u),32px);letter-spacing:-.005em}.device{position:relative;flex:none}.device--phone{width:clamp(240px,21.4 * var(--u),330px);aspect-ratio:900 / 1840}.device--tablet{width:clamp(320px,47.7 * var(--u),760px);aspect-ratio:1600 / 1139;margin-top:0}.device__frame{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}.device__screen{position:absolute;z-index:1;overflow:hidden;background:#fff}.device--phone .device__screen{inset:2.5% 5.33%;border-radius:13%/6%}.device--tablet .device__screen{inset:5.64% 4.15% 5.64% 4.17%;border-radius:2.6%/3.7%}.device__viewport{position:absolute;left:0;top:0;transform-origin:0 0}.device__hint{position:absolute;left:50%;bottom:-34px;transform:translate(-50%);font-size:13px;color:#6b6b6b;white-space:nowrap;transition:opacity .4s}.sk-layer{position:fixed;inset:0;z-index:60;pointer-events:none;overflow:hidden}.sk-peek{position:fixed;left:0;right:0;top:0;height:var(--header-h);z-index:61;pointer-events:none;overflow:hidden}.sk-grip{position:fixed;left:0;right:0;top:0;height:calc(var(--header-h) + var(--line-h) + 16px);z-index:62;pointer-events:none;overflow:hidden}.sk-body{position:absolute;left:0;top:0;will-change:transform}.dust{position:absolute;border-radius:50%;background:#e9e3cf;pointer-events:none;animation:dust var(--d, .8s) ease-out forwards}@keyframes dust{0%{transform:translate(0) scale(1);opacity:.95}to{transform:translate(var(--dx),var(--dy)) scale(.2);opacity:0}}.dust--in{animation-name:dust-in}@keyframes dust-in{0%{transform:translate(var(--dx),var(--dy)) scale(.3);opacity:0}60%{opacity:.9}to{transform:translate(0) scale(1);opacity:0}}.touch-ring{position:absolute;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;border:2px solid rgba(255,190,243,.9);background:#ffbef32e;box-shadow:0 0 18px #ffbef38c;animation:hover-ring 1.6s ease-in-out infinite;transition:opacity .5s}@keyframes hover-ring{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-6px) scale(1.06)}}.page-fade{position:fixed;inset:0;z-index:300;background:var(--black);opacity:0;pointer-events:none;transition:opacity .3s ease}.page-fade.is-on{opacity:1;pointer-events:auto}.has-cursor,.has-cursor *{cursor:none!important}.cursor{pointer-events:none}.cursor__ball{position:fixed;top:0;left:0;z-index:1000;mix-blend-mode:difference;pointer-events:none;will-change:transform;transition:opacity .25s}.cursor__ball svg{display:block;transition:transform .3s cubic-bezier(.2,.8,.2,1)}.cursor__ball circle{fill:#f7f8fa}.cursor__ball--big svg{margin:-15px 0 0 -15px}.cursor__ball--small svg{margin:-5px 0 0 -5px}.cursor__ball--big.is-hover svg{transform:scale(4)}.cursor__ball--big.is-down svg{transform:scale(.8)}.cursor__ball--big.is-hover.is-down svg{transform:scale(3.4)}.cursor-out .cursor__ball{opacity:0}@media(min-width:821px){html.page-home,html.page-home body{overflow:hidden}main{display:flex;height:100vh;height:100svh;overflow-x:auto;overflow-y:hidden;overscroll-behavior:none;scrollbar-width:none}main::-webkit-scrollbar{display:none}main{position:relative}.sk-track{position:absolute;left:0;top:0;height:100%;z-index:60;pointer-events:none;overflow:hidden}main>.section{flex:0 0 100vw;height:100vh;height:100svh;min-height:0}.work__grid{min-height:0;padding-top:calc(var(--header-h) + var(--line-h) + clamp(16px,3 * var(--u),48px));padding-bottom:clamp(36px,2 * var(--u),40px)}.device--phone{width:clamp(200px,17 * var(--u),290px)}.device--tablet{width:clamp(300px,44 * var(--u),700px)}.scroll-cue{right:max(12px,.7vw)}}@media(max-width:820px){:root{--header-h: 64px;--u: 1.6vw}.header-title{left:auto;right:16px;transform:translateY(-50%)}.header-title .dot{display:none}.site-header[data-section=about] .header-title{left:auto;right:62px;transform:translateY(-50%)}.site-header__inner{padding-inline:16px}.nav a span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.hero__word{font-size:clamp(52px,17vw,110px);z-index:1;text-shadow:0 0 18px #000,0 0 8px #000}.hero__word--hi{left:30%;top:25%}.hero__word--im{left:40%;top:45%}.hero__word--name{left:52%;top:62%}.heart{opacity:.9}.about__lines{width:16vw;opacity:.7}.about__content{padding:calc(var(--header-h) + 48px) 20px 0 calc(16vw + 14px);max-width:none}.about__text{font-size:clamp(20px,5.6vw,30px)}.about__links{margin-top:32px}.room{width:min(78vw,400px);right:0}.about{min-height:max(100svh,860px)}.work__grid{grid-template-columns:1fr;gap:72px;padding:calc(var(--header-h) + var(--line-h) + 40px) 16px 72px}.device--phone{width:min(72vw,300px)}.device--tablet{width:calc(100vw - 32px)}}.work-sheet{position:fixed;inset:0;z-index:70;visibility:hidden;overflow:hidden;pointer-events:none;background:var(--work-bg);transform:translateY(var(--wsheet-y, -100vh))}html.wsheet-on .work-sheet{visibility:visible}html.wsheet-fade .work-sheet{opacity:0;transition:opacity .35s ease}.work-sheet .site-header{position:absolute}.sk-hang{position:fixed;inset:0;z-index:72;pointer-events:none;overflow:hidden}.page-resume,.cv-sheet{--cv-bg: #fbfaf6;--cv-card: #fff;--cv-ink: #131211;--cv-muted: #55524b;--cv-leaf: #bdb9ae;--cv-vine: #a8a398;--cv-accent: #f4a9c3;--cv-accent-text: #b03466;--cv-on-accent: #2a0d18;--cv-tan: #edb3c9;--cv-line: #d9d5ca;--cv-display: "Outfit", "Helvetica Neue", Arial, sans-serif;--cv-body: "Figtree", "Helvetica Neue", Arial, sans-serif;background:var(--cv-bg);color-scheme:light}@media(prefers-color-scheme:dark){.page-resume,.cv-sheet{--cv-bg: #171614;--cv-card: #211f1c;--cv-ink: #f4f1ea;--cv-muted: #b3aea2;--cv-leaf: #3b3934;--cv-vine: #55524b;--cv-accent: #f2a3c0;--cv-accent-text: #f6aac6;--cv-tan: #b97893;--cv-line: #3a3731;color-scheme:dark}}.page-resume body{background:var(--cv-bg);color:var(--cv-ink);font-family:var(--cv-body);font-size:16px;line-height:1.6}.page-resume :focus-visible{outline-color:var(--cv-accent)}.cv-vines{position:fixed;inset:0;z-index:0;pointer-events:none;background-color:var(--cv-vine);-webkit-mask:url(/img/vines-mask.png) center / cover no-repeat;mask:url(/img/vines-mask.png) center / cover no-repeat}.cv-sheet{position:fixed;inset:0;z-index:70;visibility:hidden;overflow:hidden;pointer-events:none;background:var(--cv-bg);color:var(--cv-ink);transform:translateY(var(--sheet-y, 100vh))}html.sheet-on .cv-sheet{visibility:visible}html.from-resume{--sheet-y: 0px}.cv-sheet .cv-vines{position:absolute}.cv-page{position:relative;z-index:1;max-width:980px;margin:0 auto;padding:0 max(16px,env(safe-area-inset-left,0px)) 56px}.cv-band{position:relative;z-index:2;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;padding:22px max(16px,4.3vw) 18px;background:var(--cv-card);border-bottom:2px solid var(--cv-ink)}.cv-logo{justify-self:start;display:inline-flex;align-items:center;text-decoration:none;font-family:var(--font-display);font-size:clamp(22px,2.4vw,34px);line-height:1;letter-spacing:.04em;color:var(--cv-ink)}.cv-logo__p{display:inline-grid;place-items:center;width:1.15em;height:1.15em;border-radius:50%;background:var(--cv-ink);color:var(--cv-card);margin-right:-.06em;padding-top:.06em}.cv-band__title{display:flex;align-items:center;gap:14px}.cv-dots{display:flex;align-items:center;gap:12px}.cv-dots i{display:block;border-radius:50%}.cv-dots i:nth-child(1){width:12px;height:12px;background:var(--cv-leaf)}.cv-dots i:nth-child(2){width:17px;height:17px;background:var(--cv-muted)}.cv-dots i:nth-child(3){width:24px;height:24px;background:var(--cv-ink)}.cv-dots--r{flex-direction:row-reverse}.cv-band h1{margin:0;font:800 clamp(1.5rem,4.6vw,2.1rem) / 1.1 var(--cv-display);text-align:center;white-space:nowrap}.cv-print{justify-self:end;font:700 .85rem / 1 var(--cv-display);background:var(--cv-ink);color:var(--cv-card);border:0;border-radius:999px;padding:10px 16px;cursor:pointer}.cv-print:hover{background:var(--cv-accent);color:var(--cv-on-accent)}.cv-role{text-align:center;margin:22px 0 0;font:600 1.05rem var(--cv-display);letter-spacing:.14em;text-transform:uppercase;color:var(--cv-muted)}.cv-role b{color:var(--cv-accent-text);font-weight:700}.cv-sec{margin-top:56px}.cv-sec>h2{margin:0 0 26px;text-align:center;font-size:1rem;line-height:1}.cv-pill{display:inline-block;border:2px solid var(--cv-ink);border-radius:999px;background:var(--cv-card);padding:.5em 1.55em;font:700 clamp(1.1rem,3.2vw,1.5rem) / 1.2 var(--cv-display);color:var(--cv-ink)}.cv-panel{background:color-mix(in srgb,var(--cv-card) 92%,transparent);border:1.5px solid var(--cv-line);border-radius:28px;padding:clamp(20px,4vw,40px)}.cv-panel p{margin:0}.cv-hl{color:var(--cv-accent-text);font-weight:700}.cv-when{font:700 .8rem / 1 var(--cv-display);letter-spacing:.06em;background:var(--cv-accent);color:var(--cv-on-accent);padding:.5em 1em;border-radius:999px;white-space:nowrap}.cv-profile{display:grid;grid-template-columns:auto 1fr;gap:clamp(20px,4vw,40px);align-items:center}.cv-photo{width:176px;height:176px;border-radius:50%;object-fit:cover;object-position:38% 40%;border:3px solid var(--cv-tan);background:#fff}.cv-profile p{max-width:62ch}.cv-timeline{list-style:none;margin:0;padding:0 0 0 28px;position:relative;display:grid;gap:36px}.cv-timeline:before{content:"";position:absolute;left:6px;top:10px;bottom:10px;width:2px;background:var(--cv-ink)}.cv-job{position:relative}.cv-job:before{content:"";position:absolute;left:-28px;top:8px;width:14px;height:14px;border-radius:50%;background:var(--cv-ink)}.cv-job__head{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;justify-content:space-between}.cv-job h3{margin:0;font:700 1.2rem / 1.3 var(--cv-display);min-width:0;text-wrap:balance}.cv-job__sub{margin-top:4px!important;color:var(--cv-muted);font-weight:600}.cv-job ul,.cv-edu ul{margin:12px 0 0;padding-left:1.2em;display:grid;gap:6px}.cv-job li::marker,.cv-edu li::marker{color:var(--cv-accent)}.cv-job li,.cv-edu li{max-width:68ch}.cv-skills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.cv-skill{border:1.5px solid var(--cv-line);border-radius:20px;padding:16px 18px;background:var(--cv-card)}.cv-skill h3{margin:0 0 4px;font:700 1rem / 1.3 var(--cv-display);color:var(--cv-accent-text)}.cv-skill p{color:var(--cv-muted);font-size:.95rem;line-height:1.5}.cv-edus{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.cv-edu h3{margin:0;font:800 .9rem / 1.3 var(--cv-display);letter-spacing:.06em;text-transform:uppercase}.cv-edu__meta{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;margin-top:6px}.cv-edu__meta p{font-weight:600;color:var(--cv-muted)}.cv-cert__head{display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:space-between;align-items:baseline}.cv-cert__head h3{margin:0;font:700 1.2rem / 1.3 var(--cv-display);text-wrap:balance;min-width:0}.cv-cert__meta{color:var(--cv-muted);font-weight:600;margin-top:2px!important}.cv-courses{list-style:none;counter-reset:c;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cv-courses li{counter-increment:c;display:flex;gap:12px;align-items:flex-start;border:1.5px solid var(--cv-line);border-radius:20px;background:var(--cv-card);padding:12px 16px}.cv-courses li:before{content:counter(c);flex:none;width:26px;height:26px;border-radius:50%;background:var(--cv-accent);color:var(--cv-on-accent);font:800 .8rem / 26px var(--cv-display);text-align:center}.cv-verify{margin-top:20px!important}.cv-verify a,.cv-foot a{color:var(--cv-accent-text);font-weight:700;text-underline-offset:3px}.cv-contact{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}.cv-chip{display:flex;align-items:center;gap:12px;border:1.5px solid var(--cv-line);border-radius:999px;background:var(--cv-card);padding:8px 20px;min-height:52px;min-width:0}.cv-chip:has(button){padding-right:8px}.cv-chip__lbl{font:700 .72rem / 1 var(--cv-display);letter-spacing:.12em;text-transform:uppercase;color:var(--cv-accent-text)}.cv-chip__val{font-weight:600;overflow-wrap:anywhere;text-decoration:none}a.cv-chip__val:hover{text-decoration:underline;text-underline-offset:3px}.cv-chip button{font:700 .8rem / 1 var(--cv-display);background:var(--cv-ink);color:var(--cv-bg);border:0;border-radius:999px;padding:9px 14px;cursor:pointer}.cv-chip button:hover{background:var(--cv-accent);color:var(--cv-on-accent)}.cv-foot{margin-top:48px;text-align:center;color:var(--cv-muted);font-size:.85rem}@media(max-width:720px){.cv-band{grid-template-columns:1fr auto;padding-top:16px}.cv-band__title{grid-column:1 / -1;grid-row:2;justify-content:center;gap:8px}.cv-dots{gap:8px}.cv-dots i:nth-child(1){width:9px;height:9px}.cv-dots i:nth-child(2){width:13px;height:13px}.cv-dots i:nth-child(3){width:18px;height:18px}.cv-profile{grid-template-columns:1fr;justify-items:center}.cv-skills,.cv-edus,.cv-courses{grid-template-columns:1fr}.cv-chip{flex-wrap:wrap;border-radius:24px}}@media(max-width:380px){.cv-dots{display:none}}@media(prefers-reduced-motion:no-preference){.cv-page{animation:cv-in .6s .05s cubic-bezier(.2,.7,.2,1) both}@keyframes cv-in{0%{opacity:0;transform:translateY(28px)}}.cv-pill,.cv-skill{transition:transform .2s ease}.cv-pill:hover,.cv-skill:hover{transform:translateY(-2px)}}@media print{.page-resume{--cv-bg: #fff;--cv-card: #fff;--cv-ink: #000;--cv-muted: #444}.page-resume body{font-size:12.5px}.cv-vines,.cv-logo,.cv-print,.cv-chip button,.cv-foot a{display:none}.cv-band{grid-template-columns:1fr;padding:0 0 12px}.cv-band__title{justify-content:center}.cv-page{padding:0;max-width:none}.cv-sec{margin-top:22px;break-inside:avoid}.cv-sec>h2{margin-bottom:12px}.cv-panel{padding:18px;border-radius:16px}.cv-photo{width:120px;height:120px}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
