:root{--paper:#eeeee8;--ink:#22231f;--muted:#6c6c64;--accent:#ec4829;--line:#c9cac0;--font:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}::selection{background:var(--accent);color:white}.wrap{width:calc(100% - 96px);max-width:1440px;margin:0 auto}.header{height:100px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:40px}.wordmark{font-size:25px;font-weight:900;letter-spacing:-1.3px}.wordmark span{font-size:11px;vertical-align:top;margin-left:3px}.header-note,.eyebrow,.hero-eyebrow,.header nav,.footer-bottom,.bonus-label{font-family:var(--font);font-size:11px;font-weight:600;letter-spacing:1px}.header-note{color:var(--muted);margin-left:auto}.header nav{display:flex;gap:32px;letter-spacing:0;font-size:13px}.header nav a:hover,.text-link:hover,.footer a:hover{color:var(--accent)}.header nav span{font-size:9px;color:var(--muted);vertical-align:super;margin-left:3px}.hero{position:relative;padding:34px 0 36px;min-height:655px;overflow:hidden}.hero-eyebrow{display:flex;justify-content:space-between;color:var(--muted)}h1{font-size:clamp(65px,8.8vw,142px);line-height:1.02;letter-spacing:-.07em;font-weight:900;margin:53px 0 62px;position:relative;z-index:2;pointer-events:none}h1 .surname{color:var(--accent)}.asterisk{display:inline-block;font-size:.85em;vertical-align:middle;margin-left:20px;font-weight:400}.hero-bottom{display:flex;align-items:flex-end;gap:36px;position:relative;z-index:3;pointer-events:none}.hero-bottom p{font-size:19px;line-height:1.45;margin:0}.hero-role{font-size:14px;line-height:1.6;margin-left:20px}.hero-role span{font-size:11px;color:var(--muted)}.round-link{width:53px;height:53px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-size:24px;margin-left:auto;pointer-events:auto;background:var(--paper);transition:.2s}.round-link:hover{background:var(--ink);color:var(--paper);transform:translateY(3px)}.hero-portrait{position:absolute;right:20px;bottom:0;width:290px;height:390px;z-index:1}.hero-portrait img{position:absolute;bottom:-24px;width:100%;height:100%;object-fit:contain;object-position:bottom}.portrait-circle{position:absolute;width:275px;height:275px;border-radius:50%;background:#dcded3;bottom:25px;right:0}.portrait-sticker{position:absolute;right:0;top:49px;transform:rotate(8deg);padding:11px 14px;background:var(--accent);font-size:10px;letter-spacing:1px;color:var(--paper)}.ticker{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);overflow:hidden;white-space:nowrap;padding:16px 0}.ticker>div{display:flex;gap:32px;align-items:center;justify-content:center;font-size:15px;font-weight:700;letter-spacing:.2px}.ticker span{color:var(--accent);font-size:25px}.work{padding-top:98px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:46px}.eyebrow{color:var(--muted);display:block}.section-heading h2,.about h2{font-size:clamp(40px,4.5vw,68px);line-height:1.05;letter-spacing:-3px;font-weight:500;margin:23px 0 0}.section-heading em,.about em{font-style:normal;color:var(--accent)}.section-heading>p{font-size:14px;line-height:1.5;color:var(--muted);margin:0 0 4px}.projects{display:grid;grid-template-columns:1fr 1fr;gap:50px 25px}.project{min-width:0}.project button{padding:0;border:0;text-align:left;background:none;width:100%;color:inherit;cursor:pointer;display:block}.project-art{aspect-ratio:1.36;overflow:hidden;position:relative;background:var(--tile);isolation:isolate}.project-art:after{content:"";position:absolute;inset:0;border:1px solid #00000008;pointer-events:none}.project-art img{width:100%;height:100%;object-fit:contain;position:absolute;inset:0;transition:transform .5s cubic-bezier(.2,.7,.3,1)}.project-art .art-word{position:absolute;top:8%;left:7%;font-size:clamp(30px,4.4vw,68px);font-weight:900;line-height:.92;letter-spacing:-3px;max-width:80%;color:var(--art-ink,#22231f)}.project-art .project-number{position:absolute;bottom:20px;left:24px;z-index:2;font-size:10px;letter-spacing:1px;color:var(--art-ink,#22231f)}.project-art .open-icon{position:absolute;bottom:17px;right:18px;background:var(--paper);border-radius:50%;width:40px;height:40px;display:grid;place-items:center;font-size:22px;z-index:2;transition:.25s}.project button:hover .project-art img{transform:scale(1.045) rotate(-1deg)}.project button:hover .open-icon{background:var(--accent);color:white;transform:rotate(45deg)}.project-meta{display:flex;justify-content:space-between;margin-top:18px;color:var(--muted);font-size:10px;font-weight:600;letter-spacing:.6px;gap:10px;text-transform:uppercase}.project h3{font-size:26px;letter-spacing:-.8px;margin:9px 0 8px;font-weight:500}.project-subtitle{margin:0;font-size:12px;color:var(--muted);line-height:1.5}.project.sber img{width:76%;height:85%;left:24%;top:14%;transform:rotate(-7deg)}.project.mayo img{width:73%;height:90%;left:32%;top:13%;transform:rotate(9deg)}.project.sand img{object-fit:cover}.project.sand .art-word{color:white;text-shadow:0 2px 20px #0004}.project.golf img{object-fit:cover;object-position:center 42%}.project.golf .art-word{color:white;text-shadow:0 2px 20px #0004}.project.fitness img{width:70%;left:33%;top:12%;height:94%}.project.parents img{width:75%;left:32%;top:16%;height:90%}.project.winline img{width:70%;height:85%;left:30%;top:9%;transform:rotate(9deg);object-fit:contain}.project.dreamers img{object-fit:cover}.project.dreamers .art-word{display:none}.project.golf .project-number,.project.sand .project-number,.project.dreamers .project-number{color:#fff;text-shadow:0 1px 4px #000}.bonus{margin-top:80px;display:grid;grid-template-columns:1fr 1fr;position:relative;background:#dfdfd3;min-height:380px;padding:44px;overflow:hidden;align-items:center}.bonus h2{font-size:80px;font-weight:500;letter-spacing:-5px;margin:32px 0 20px}.bonus p{font-size:16px;line-height:1.6}.bonus-label{font-size:9px;margin-top:26px;display:inline-block;border:1px solid #aaa99e;border-radius:30px;padding:9px 13px}.bonus img{width:110%;height:auto;transform:rotate(-4deg)}.bonus-copy{z-index:1}.about{padding-top:110px;padding-bottom:110px;display:grid;grid-template-columns:1fr 1fr;gap:90px}.about h2{font-size:68px}.about-intro>p{max-width:370px;font-size:16px;line-height:1.65;margin:30px 0}.text-link{display:inline-block;border-bottom:1px solid;padding-bottom:6px;font-size:13px}.detail-group h3{font-size:10px;font-weight:500;letter-spacing:1px;color:var(--muted);margin:0 0 26px}.experience{border-top:1px solid var(--line);padding:22px 0;position:relative}.experience h4{font-size:22px;font-weight:500;letter-spacing:-.5px;margin:0 0 6px}.experience span{font-size:12px;color:var(--muted)}.experience time{position:absolute;right:0;top:25px;font-size:10px;color:var(--muted)}.experience p{font-size:13px;line-height:1.6;max-width:380px;margin:16px 0 0;color:var(--muted)}.awards{margin-top:25px}.awards>div{display:flex;align-items:center;gap:18px;border-top:1px solid var(--line);padding:19px 0}.medal{font-size:30px;color:var(--accent)}.awards p{margin:0;display:grid;gap:7px}.awards strong{font-size:16px;font-weight:500}.awards p span{font-size:12px;color:var(--muted)}.education{border-top:1px solid var(--line);padding-top:20px;margin-top:10px;font-size:12px;color:var(--muted)}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between}summary::-webkit-details-marker{display:none}.education summary span{font-size:16px}.education[open] summary span{transform:rotate(45deg)}.education p{line-height:1.6}.footer{background:var(--ink);color:var(--paper);padding:45px 0 28px}.footer-top{display:flex;justify-content:space-between;gap:20px;align-items:center}.footer-top .eyebrow{color:#bdbdb1}.footer-top a{font-size:12px}.contact-big{font-size:clamp(60px,12vw,190px);letter-spacing:-.065em;line-height:1.5;display:flex;justify-content:space-between;align-items:center}.contact-big span{font-size:.65em}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #55564d;padding-top:24px;color:#bdbdb1;font-size:10px}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--ink);color:white;padding:14px}.skip:focus{top:15px}dialog{border:0;padding:0;width:min(1020px,94vw);max-height:92dvh;background:var(--paper);color:var(--ink);overscroll-behavior:contain}dialog::backdrop{background:#151710bc;backdrop-filter:blur(7px)}body:has(dialog[open]){overflow:hidden}.dialog-bar{display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:var(--paper);z-index:3;padding:17px 32px;border-bottom:1px solid var(--line);font-size:11px;letter-spacing:1px}.dialog-bar button{border:0;background:none;padding:8px 0 8px 16px;cursor:pointer;font-size:10px;display:flex;align-items:center;gap:20px}.dialog-bar button span{font-size:28px}.dialog-content{padding:40px}.dialog-content h2{font-size:clamp(36px,5vw,65px);letter-spacing:-2px;line-height:1.05;margin:15px 0 24px;font-weight:500}.dialog-content>p{font-size:17px;line-height:1.6;max-width:760px;white-space:pre-line}.dialog-role{border-top:1px solid var(--line);padding-top:20px;margin:30px 0;display:flex;gap:40px}.dialog-role span{font-size:10px;letter-spacing:1px;flex-shrink:0}.dialog-role strong{font-size:13px;font-weight:400}#dialog-gallery{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}#dialog-gallery img{width:100%;height:auto;background:white;max-height:700px;object-fit:contain}#dialog-gallery img:only-child{grid-column:1/-1;max-height:620px}#dialog-note{font-size:12px;color:var(--muted);margin-bottom:0}
@media(min-width:1550px){h1{font-size:142px}.hero{min-height:720px}.hero-portrait{width:360px;height:470px;right:50px}.portrait-circle{width:340px;height:340px}.hero-bottom{margin-top:90px}}
@media(max-width:1100px){.wrap{width:calc(100% - 56px)}.header-note{display:none}.header nav{margin-left:auto}.hero{min-height:600px}h1{margin:65px 0 100px;font-size:9.1vw}.hero-portrait{width:250px;height:340px;right:0}.portrait-circle{width:230px;height:230px}.hero-role{margin-left:0;max-width:190px}.hero-role span{font-size:10px}.hero-bottom{gap:24px}.hero-bottom p{font-size:16px}.round-link{margin-right:0}.about{gap:45px}.experience time{position:static;display:block;margin-top:10px}.bonus{padding:30px;min-height:340px}.bonus .eyebrow{font-size:9px}.bonus h2{font-size:65px}}
@media(max-width:700px){.wrap{width:calc(100% - 36px)}.header{height:76px;gap:15px}.wordmark{font-size:21px}.header nav{gap:19px;font-size:11px}.header nav a:nth-child(2){display:none}.hero{min-height:670px;padding-top:24px}.hero-eyebrow{font-size:8px;letter-spacing:.8px}h1{font-size:10.2vw;letter-spacing:-.065em;line-height:1.08;margin:43px 0 29px}.asterisk{margin-left:6px;font-size:.8em}.hero-bottom{display:block}.hero-bottom p{font-size:16px}.hero-role{margin-top:24px;font-size:12px;max-width:155px}.hero-role span{font-size:10px;line-height:1.8;display:block}.round-link{position:absolute;left:0;top:270px;width:45px;height:45px}.hero-portrait{width:240px;height:327px;right:-3px;bottom:0}.portrait-circle{width:220px;height:220px;bottom:20px}.portrait-sticker{font-size:8px;top:25px;right:0}.ticker{padding:13px 0}.ticker>div{justify-content:flex-start;gap:22px;font-size:11px;padding-left:18px}.ticker span{font-size:19px}.work{padding-top:64px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:39px;letter-spacing:-1.8px;margin-top:20px}.section-heading>p{margin-top:22px;font-size:12px}.section-heading>p br{display:none}.eyebrow{font-size:9px}.projects{grid-template-columns:1fr;gap:34px}.project-art{aspect-ratio:1.22}.project-art .art-word{font-size:47px;letter-spacing:-2px}.project h3{font-size:25px}.project-meta{font-size:9px;margin-top:15px}.project-subtitle{font-size:11px}.project-art .project-number{bottom:17px;left:18px}.bonus{margin-top:54px;grid-template-columns:1fr;padding:26px;min-height:0}.bonus h2{font-size:63px;margin:28px 0 16px}.bonus p{font-size:14px}.bonus img{width:110%;margin-top:15px;margin-bottom:-20px}.bonus-label{font-size:8px}.about{grid-template-columns:1fr;gap:50px;padding-top:70px;padding-bottom:70px}.about h2{font-size:58px;letter-spacing:-3px}.about-intro>p{font-size:15px;max-width:100%}.about-details{min-width:0}.experience time{position:absolute;top:16px;font-size:9px}.experience h4{font-size:21px}.experience p{font-size:12px}.footer{padding-top:30px}.footer-top{align-items:flex-start}.footer-top a{font-size:10px}.footer-top .eyebrow{font-size:8px;max-width:135px;line-height:1.6}.contact-big{font-size:14vw;line-height:2;letter-spacing:-.07em}.footer-bottom{font-size:8px;gap:12px;flex-wrap:wrap;padding-top:20px}.dialog-bar{padding:10px 20px;font-size:9px}.dialog-content{padding:27px 20px}.dialog-content>p{font-size:15px}.dialog-role{flex-direction:column;gap:8px}#dialog-gallery{grid-template-columns:1fr}.dialog-content h2{font-size:39px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* Keep the card headlines clear of the cutout artwork. */
.project.sber img{width:70%;height:75%;left:29%;top:29%}
.project.mayo img{width:67%;height:76%;left:36%;top:28%}
.project.fitness img{width:65%;left:37%;top:29%;height:76%}
.project.parents img{width:68%;left:36%;top:30%;height:76%}
.project.winline img{width:59%;height:71%;left:43%;top:26%}
.project.fitness .art-word{font-size:clamp(28px,3.5vw,54px)}
@media(max-width:700px){.project.fitness .art-word{font-size:36px}.experience time{position:static;margin-top:10px}}

.project.sber img{top:38%;height:65%}.project.mayo img{top:34%;height:69%}
.project.sand .art-word,.project.golf .art-word{z-index:1}
.project.sand .project-art:before,.project.golf .project-art:before{content:"";position:absolute;inset:0;background:linear-gradient(#0005,transparent 65%);z-index:1;pointer-events:none}
.project.winline img{top:38%;height:61%}
/* Revised opening composition and quieter interface. */
.hero{height:clamp(490px,47vw,680px);min-height:0;padding:0;overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.hero h1{width:68%;font-size:clamp(56px,6.3vw,100px);line-height:1.05;letter-spacing:-.065em;margin:0 0 42px;z-index:2}
.hero .asterisk{display:none}
.hero-bottom{display:block;z-index:2;max-width:51%;margin:0}
.hero-role{font-size:20px;line-height:1.5;margin:0;max-width:none}
.hero-role span{display:block;max-width:320px;font-size:12px;line-height:1.6;margin-top:7px}
.hero-portrait{width:43%;height:96%;right:-20px;bottom:0;z-index:1}
.hero-portrait img{bottom:-32px;width:100%;height:100%;object-position:center bottom}
.portrait-circle{width:100%;height:auto;aspect-ratio:1;bottom:15px;right:0}
.section-heading h2{margin-top:0}
.project-art .open-icon{width:auto;height:auto;display:block;border-radius:0;padding:9px 12px;font-size:10px;letter-spacing:.2px}
.project button:hover .open-icon{transform:none}
.project.golf .art-word{font-size:clamp(24px,3.35vw,50px);letter-spacing:-1.8px;line-height:1.02;max-width:90%}
.about{align-items:start;gap:90px}
.about h2{margin-top:0}
.about .awards{margin-top:0}
.about .awards>div{padding:23px 0}
.contact-big{justify-content:flex-start}
@media(min-width:1550px){.hero h1{font-size:100px}.hero-portrait{width:46%;height:100%;right:0}.hero-bottom{margin:0}}
@media(max-width:1100px){.hero{height:520px}.hero h1{font-size:6.3vw;margin-bottom:32px}.hero-portrait{width:43%;height:96%;right:-12px}.hero-role{font-size:18px}.hero-role span{font-size:11px;max-width:270px}.about{gap:45px}}
@media(max-width:700px){.hero{height:690px;min-height:0;justify-content:flex-start;padding-top:43px}.hero h1{width:100%;font-size:10.2vw;line-height:1.08;margin:0 0 27px}.hero-bottom{max-width:100%}.hero-role{font-size:17px;margin:0;max-width:100%}.hero-role span{font-size:10px;max-width:100%;margin-top:3px}.hero-portrait{width:88%;height:425px;right:-12px;bottom:0}.hero-portrait img{bottom:-25px}.portrait-circle{width:100%;bottom:10px}.project.golf .art-word{font-size:32px;letter-spacing:-1.3px}.about{gap:36px}.about h2{font-size:56px}.about-intro>p{margin-top:22px}.about .awards>div{padding:19px 0}}
@media(max-width:360px){.hero{height:630px;padding-top:36px}.hero-portrait{height:380px;width:92%}.hero-role{font-size:16px}.hero-role span{max-width:230px}.project.golf .art-word{font-size:27px}}
@media(max-width:700px){.hero{height:620px}}
@media(max-width:360px){.hero{height:590px}}

.wordmark{letter-spacing:-.8px;font-size:24px}.hero h1{font-size:clamp(48px,5.7vw,89px)}#dialog-gallery:empty{display:none}
@media(min-width:1550px){.hero h1{font-size:89px}}
@media(max-width:700px){.wordmark{font-size:20px}.hero h1{font-size:9.1vw;letter-spacing:-.065em}}

.ticker{white-space:normal}.ticker>div{flex-wrap:wrap;padding:0 18px;gap:14px 26px}.ticker span{flex-shrink:0}
@media(max-width:700px){.ticker>div{justify-content:center;gap:10px 15px;font-size:10px}.ticker span{font-size:16px}}

.project.horse img{width:74%;height:86%;left:30%;top:25%;object-fit:contain}.project.horse .art-word{font-size:clamp(30px,3.8vw,58px);line-height:.96;letter-spacing:-2px;max-width:85%}.project.horse .project-subtitle{white-space:pre-line}.dialog-role[hidden]{display:none}
@media(max-width:700px){.project.horse .art-word{font-size:39px}.project.horse img{height:84%;top:28%;left:30%;width:74%}}
.project.horse img{width:80%;height:120%;left:28%;top:24%;object-position:center top}
@media(max-width:700px){.project.horse img{width:82%;height:116%;left:28%;top:28%}}
.project.horse img{left:20%}
@media(max-width:700px){.project.horse img{left:20%}}

/* Consistent section destinations and stable scrolling when a case opens. */
html{scroll-padding-top:24px;scrollbar-gutter:stable}
#top{scroll-margin-top:0}#work,#about{scroll-margin-top:24px}
.project button{height:100%;display:flex;flex-direction:column;align-items:stretch}
.project-art{width:100%;flex-shrink:0}.project h3{line-height:1.15}.project-subtitle{overflow-wrap:anywhere}
.hero{width:100%;max-width:none;margin:0;padding-left:max(28px,calc((100vw - 1440px)/2));padding-right:0}
.hero h1{margin-bottom:30px}
.hero-portrait{width:48%;height:106%;right:0;bottom:-30px}
.hero-portrait img{width:100%;height:100%;bottom:0;object-fit:cover;object-position:left bottom}
.hero .hero-role{display:flex;align-items:baseline;gap:14px;font-size:21px;max-width:none}
.hero-role strong{font-size:50px;line-height:1;letter-spacing:-3px;font-weight:500;color:var(--accent)}
.hero .hero-role span{font-size:21px;margin:0;max-width:none;line-height:1.2}
.portrait-circle{bottom:0}
#dialog-gallery{grid-template-columns:1fr;justify-items:center;gap:26px}
#dialog-gallery>img{display:block;width:auto;max-width:100%;max-height:none;height:auto;object-fit:contain;background:transparent}
#dialog-gallery>img:only-child{max-height:none}
#dialog-gallery>img[src$="horse-live.webp"]{width:min(100%,650px)}
/* Crop the screenshot in the layout, preserving the source pixels and post text. */
.press-shot{position:relative;margin:0;width:min(100%,650px);aspect-ratio:767/794;overflow:hidden;border-radius:14px;background:white}
#dialog-gallery .press-shot img{position:absolute;left:-3.65%;top:0;width:113.43%;max-width:none;height:auto;max-height:none;display:block;background:transparent}
@media(min-width:1550px){.hero-portrait{width:48%;height:106%;right:0}}
@media(max-width:1100px){.hero-portrait{width:48%;height:106%;right:0}.hero .hero-role span{font-size:19px}.hero-role strong{font-size:44px}}
@media(max-width:700px){
 html{scroll-padding-top:16px}#work,#about{scroll-margin-top:16px}
 .hero{padding-left:18px;padding-top:38px;height:650px}
 .hero h1{width:calc(100% - 18px);margin-bottom:25px}
 .hero .hero-role{gap:12px}.hero-role strong{font-size:39px;letter-spacing:-2px}.hero .hero-role span{font-size:17px}
 .hero-portrait{width:92%;height:435px;right:-1px;bottom:-25px}
 .hero-portrait img{object-fit:cover;object-position:left bottom}
 dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px)}
 .dialog-content h2{overflow-wrap:normal}.dialog-bar{padding:10px 16px}
 .projects{gap:32px}.project-subtitle{line-height:1.65}
 .press-shot{border-radius:9px}
}
@media(max-width:360px){.hero{height:600px;padding-top:32px}.hero-portrait{height:395px;width:95%}.hero-role strong{font-size:34px}.hero .hero-role span{font-size:15px}}

.hero-portrait img{object-fit:contain;object-position:right bottom}
@media(max-width:700px){.hero-portrait img{object-fit:contain;object-position:right bottom}}
/* Anchor headings land below a consistent top inset, without the section padding gap. */
#work{scroll-margin-top:-74px}#about{scroll-margin-top:-86px}
@media(max-width:700px){#work{scroll-margin-top:-48px}#about{scroll-margin-top:-54px}}

.header nav{margin-left:auto}

#dialog-gallery.gallery-three{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:16px}
#dialog-gallery.gallery-three>img{width:100%;max-width:100%;height:auto}
@media(max-width:700px){#dialog-gallery.gallery-three{gap:8px}}
@media(max-width:480px){#dialog-gallery.gallery-three{grid-template-columns:1fr;gap:18px;width:min(100%,300px);margin-inline:auto}}
