*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:#100e10;color:#efece9;font-family:Arial,sans-serif}::selection{background:#b82b3f;color:white}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid #f56878;outline-offset:6px}header{height:95px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid #ffffff14;background:#100e10ed;position:sticky;top:0;z-index:20;backdrop-filter:blur(15px)}.brand{display:flex;align-items:center;gap:12px;font:12px/1.12 Arial;letter-spacing:2px}.brand-icon{font:46px Arial;color:#f34256;position:relative;line-height:1}.brand-icon span{font:19px Arial;position:absolute;right:-6px;top:-7px}nav{display:flex;gap:40px;font-size:13px;color:#beb6b8}nav a:hover{color:#fa4b60}.languages{display:flex;gap:12px;font-size:12px;align-items:center}.languages button{border:0;background:none;color:#777174;padding:10px 0}.languages .active{color:#fff}.languages>span{color:#443c40}.hero,.works{padding:42px 5% 0;max-width:1800px;margin:auto}.hero-top,.hero-foot,.image-top,.image-bottom,.section-heading,.filterbar,.contact-top,.footer-bottom{display:flex;justify-content:space-between;align-items:center}.eyebrow,.small-label,.hero-foot,.image-top,.image-bottom>div>span,.work-count,.footer-bottom,.contact-dot{font:10px/1.5 Arial;letter-spacing:1.8px}.eyebrow{display:flex;align-items:center;gap:10px}.eyebrow i,.contact-dot i{width:6px;height:6px;background:#e73a50;display:inline-block;border-radius:50%;box-shadow:0 0 12px #e73a5066}.small-label{color:#736b70}.hero-title{display:flex;align-items:flex-end;justify-content:space-between;margin:44px 0 38px;gap:32px}h1{font:clamp(36px,5.6vw,90px)/1.06 Arial;margin:0;letter-spacing:-2px}h1>span{display:block}.outline{-webkit-text-stroke:1px #ae263a;color:transparent}.hero-copy{width:25%;max-width:330px;flex-shrink:0}.red-cross{color:#f0475a;font-size:32px;font-weight:200}.hero-copy p{color:#a99da3;font-size:14px;line-height:1.8;white-space:pre-line}.round-link{display:flex;align-items:center;justify-content:space-between;margin-top:24px;font-size:12px;border-top:1px solid #463136;padding-top:18px}.round-link b{display:grid;place-items:center;border:1px solid #7b2d3c;border-radius:50%;width:36px;height:36px;font-size:18px;font-weight:400}.hero-image{display:block;position:relative;height:clamp(330px,43vw,690px);background:#19131a;overflow:hidden;border:1px solid #3d242c}.hero-image>img{width:100%;height:100%;object-fit:cover;object-position:center 48%;transition:transform 1s}.hero-image:hover>img{transform:scale(1.025)}.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#08040b44,transparent 30%,transparent 50%,#080408b3)}.image-top{position:absolute;left:28px;right:28px;top:24px;z-index:1;color:#ece4eb}.image-bottom{position:absolute;bottom:28px;left:28px;right:28px;z-index:1}.image-bottom h2{font:clamp(24px,3vw,48px) Arial;margin:8px 0 0}.image-bottom>b{display:grid;place-items:center;border:1px solid #ffffff60;border-radius:50%;width:52px;height:52px;font-size:26px;font-weight:400}.hero-foot{margin-top:17px;color:#8f8288;font-size:9px}.works{padding-top:110px}.section-heading{align-items:flex-end}.red{color:#ee485b}.section-heading h2{font:clamp(38px,5vw,64px) Arial;margin:18px 0 30px}.work-count{color:#81767c;margin-bottom:35px}.filterbar{border-top:1px solid #30262c;padding:22px 0 32px;gap:20px}.filters{display:flex;gap:8px;flex-wrap:wrap}.filters button{border:1px solid #34262b;border-radius:2px;padding:10px 17px;background:transparent;color:#988c94;font-size:12px}.filters button.active{background:#982237;border-color:#982237;color:#fff}.project{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);gap:5%;padding:0 0 58px;margin-bottom:58px;border-bottom:1px solid #30242a}.project-gallery{min-width:0}.main-render{display:block;width:100%;padding:0;border:1px solid #3e2e36;background:#181318;overflow:hidden;position:relative;aspect-ratio:16/10}.main-render img{width:100%;height:100%;object-fit:contain;transition:transform .7s}.main-render:hover img{transform:scale(1.025)}.zoom-icon{position:absolute;right:15px;bottom:15px;width:33px;height:33px;display:grid;place-items:center;background:#130c11c9;border:1px solid #ffffff40;color:white;font-size:19px}.thumbs{display:flex;gap:8px;margin-top:12px;overflow-x:auto;padding-bottom:3px}.thumbs button{background:#1d1318;padding:0;border:1px solid transparent;flex:0 0 72px;height:48px;opacity:.5}.thumbs button.selected{opacity:1;border-color:#e34a60}.thumbs img{width:100%;height:100%;object-fit:cover}.project-text{display:flex;flex-direction:column;align-items:flex-start;padding:14px 0 5px}.project-index{color:#a84053;font:11px Arial;letter-spacing:2px;display:flex;width:100%;justify-content:space-between}.project h3{font:clamp(24px,2.5vw,40px)/1.2 Arial;margin:32px 0 18px}.project-category{font-size:10px;color:#c5a4af;letter-spacing:1.5px;text-transform:uppercase}.project-description{border-top:1px solid #43232e;margin-top:24px;padding-top:20px;width:100%;min-height:130px}.project-description .label{font-size:10px;letter-spacing:1.5px;color:#78646c;text-transform:uppercase}.project-description p{font-size:14px;color:#a99ca3;line-height:1.8;max-width:360px}.gallery-link{border:0;border-bottom:1px solid #72424e;padding:12px 0;background:none;color:#dfd4d9;font-size:12px;margin-top:auto;width:100%;text-align:left;display:flex;justify-content:space-between}.about{margin:20px 5% 100px;padding:55px 0;border-top:1px solid #30242a;display:grid;grid-template-columns:1fr 2fr;gap:30px}.about h2{font:clamp(27px,3vw,45px)/1.25 Arial;white-space:pre-line;margin:0 0 28px}.about p{max-width:570px;color:#9b8d95;line-height:1.8;font-size:15px}.about-tags{display:flex;gap:25px;margin-top:30px;color:#b15469;font-size:9px;letter-spacing:1.5px;flex-wrap:wrap}footer{background:radial-gradient(ellipse at 85% 80%,#4b1124,transparent 60%),#240e17;padding:42px 5% 24px;border-top:1px solid #693041}.contact-dot{display:flex;align-items:center;gap:10px;color:#ce9ba9}footer h2{font:clamp(32px,5.7vw,88px)/1.1 Arial;white-space:pre-line;max-width:1100px;margin:65px 0 40px}.email{font:clamp(17px,2.8vw,39px) Arial;display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid #6e3346;padding-bottom:25px}.email span{color:#ed526b}.contact-links{display:flex;gap:6%;margin:30px 0 75px}.contact-links a{font-size:14px;display:flex;gap:45px;justify-content:space-between}.contact-links span{color:#b56c82}.footer-bottom{padding-top:24px;border-top:1px solid #6e334655;color:#967382;font-size:9px}dialog{width:96vw;max-width:1600px;height:94vh;border:1px solid #784154;background:#0e0b0f;color:white;padding:20px}dialog::backdrop{background:#080407eb;backdrop-filter:blur(10px)}.viewer-top{display:flex;justify-content:space-between;align-items:center;font-family:Arial}.viewer-top button,.viewer-body button{border:1px solid #61303f;color:#fff;background:#2b1520;font-size:20px;width:44px;height:44px;flex-shrink:0}.viewer-body{height:calc(100% - 85px);display:flex;align-items:center;gap:15px}.viewer-body img{min-width:0;width:calc(100% - 118px);height:100%;object-fit:contain}.viewer-body button:disabled{opacity:.2;cursor:default}#viewer-count{text-align:center;color:#b78c9e;font-size:12px;padding-top:15px}.video-box{margin-top:16px;position:relative}.video-box video{width:100%;display:block}.video-box button{background:#922237;border:0;padding:12px 20px;color:white;width:100%}[hidden]{display:none!important}body.modal-open{overflow:hidden}
@media(min-width:1600px){.about,footer{padding-left:max(5%,calc((100% - 1620px)/2));padding-right:max(5%,calc((100% - 1620px)/2))}.about{margin-left:0;margin-right:0}}
@media(max-width:800px){header{height:76px}nav{gap:18px;font-size:11px}nav a:nth-child(2){display:none}.brand{font-size:10px}.brand-icon{font-size:34px}.hero{padding-top:25px}.hero-top .small-label{display:none}.hero-title{display:block;margin-top:30px}h1{font-size:8.1vw;letter-spacing:-1px}.hero-copy{width:100%;max-width:none;margin-top:25px;display:flex;align-items:center;gap:25px}.red-cross{display:none}.hero-copy p{font-size:12px;flex:1}.round-link{margin:0;width:42%;font-size:11px;gap:10px}.hero-image{height:390px}.hero-image>img{object-fit:cover}.works{padding-top:70px}.filterbar>.small-label{display:none}.project{gap:25px;grid-template-columns:1fr;margin-bottom:42px;padding-bottom:40px}.project-text{padding:0}.project h3{margin:19px 0 13px}.project-description{min-height:0;margin-top:18px}.project-description p{max-width:none}.gallery-link{margin-top:10px}.project-index{font-size:10px}.about{grid-template-columns:1fr;margin-bottom:60px}.about h2{font-size:30px}.contact-links{gap:20px;flex-wrap:wrap;margin-bottom:55px}.contact-links a{font-size:12px;gap:18px}.footer-bottom>span:nth-child(2){display:none}.viewer-body{gap:5px}.viewer-body button{width:32px}.viewer-body img{width:calc(100% - 74px)}dialog{padding:10px}.image-top{font-size:8px;left:18px;right:18px}.image-bottom{left:18px;right:18px;bottom:20px}.hero-foot{font-size:8px;letter-spacing:.4px}.work-count{font-size:9px}footer h2{margin-top:45px}.languages{gap:7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

h1 .outline svg{fill:none;stroke:#ae263a;stroke-width:9}h1 .outline{-webkit-text-stroke:0}.email svg{pointer-events:none}

/* Improved reading sizes across desktop and mobile. */
nav{font-size:16px}.languages{font-size:15px}.brand{font-size:14px}
.eyebrow,.small-label,.hero-foot,.image-top,.image-bottom>div>span,.work-count,.footer-bottom,.contact-dot{font-size:12px;letter-spacing:1.25px}
.hero-copy p{font-size:17px}.round-link{font-size:15px}.filters button{font-size:15px;padding:12px 20px}
.project-index{font-size:13px}.project-category{font-size:13px}.project-description .label{font-size:12px}
.project-description p{font-size:18px;line-height:1.75;max-width:420px}.gallery-link{font-size:16px}
.about p{font-size:18px}.about-tags{font-size:12px}.contact-links a{font-size:17px}#viewer-count{font-size:15px}
.render-reel{padding:24px 0 0;border-bottom:1px solid #34212a;background:#160f14;overflow:hidden}
.reel-header{display:flex;justify-content:space-between;align-items:center;padding:0 5% 18px;gap:20px}
.reel-header .eyebrow{color:#c68c9b}.reel-header button{padding:8px 14px;background:transparent;border:1px solid #713345;color:#edced7;font-size:14px;border-radius:3px;min-width:120px}
.reel-window{overflow:hidden}.reel-track{display:flex;width:max-content;animation:render-scroll 100s linear infinite;will-change:transform}
.reel-group{display:flex;gap:16px;padding-right:16px;flex-shrink:0}.reel-card{position:relative;display:block;width:300px;aspect-ratio:16/10;overflow:hidden;background:#241620;border:1px solid #65303f}
.reel-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.reel-card:hover img{transform:scale(1.045)}
.reel-caption{position:absolute;inset:auto 0 0;display:flex;justify-content:space-between;gap:12px;padding:32px 16px 14px;background:linear-gradient(transparent,#120910e8);font-size:15px;color:#fff}
.render-reel.paused .reel-track,.reel-window:hover .reel-track,.reel-window:focus-within .reel-track{animation-play-state:paused}
.reel-card:focus-visible{outline-offset:-5px}
@keyframes render-scroll{to{transform:translateX(-50%)}}
@media(max-width:800px){
 nav{font-size:14px;gap:15px}.brand{font-size:11px}.languages{font-size:14px}
 .eyebrow,.small-label,.hero-foot,.image-top,.image-bottom>div>span,.work-count,.footer-bottom,.contact-dot{font-size:11px;letter-spacing:.8px}
 .hero-copy p{font-size:15px}.round-link{font-size:14px}.filters button{font-size:14px;padding:10px 13px}
 .project-index,.project-category{font-size:12px}.project-description p,.about p{font-size:17px}.gallery-link{font-size:15px}.contact-links a{font-size:16px}
 .reel-card{width:240px}.reel-group{gap:12px;padding-right:12px}.reel-caption{font-size:14px}.reel-header button{font-size:13px;min-width:110px}
 .hero-foot{gap:18px;align-items:flex-start}.contact-links{column-gap:25px;row-gap:22px}
}
@media(max-width:420px){nav{gap:10px;font-size:13px}.languages{gap:5px}.hero-copy{gap:16px}.hero-top .eyebrow{font-size:10px}.hero-foot span{max-width:50%}.image-top{gap:20px;font-size:10px}}
@media(prefers-reduced-motion:reduce){.reel-track{animation:none;transform:none}.reel-window{overflow-x:auto}.reel-group[aria-hidden="true"]{display:none}}

/* Pointer-driven, seamless reel. Autoplay and dragging share the same scroll position. */
.reel-track{animation:none!important;transform:none!important;will-change:auto}
.reel-window{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;cursor:grab;touch-action:pan-y;user-select:none;scroll-behavior:auto}
.reel-window::-webkit-scrollbar{display:none}.reel-window.dragging,.reel-window.dragging *{cursor:grabbing}
.reel-card,.reel-card img{-webkit-user-drag:none;user-select:none}.reel-group[aria-hidden="true"]{display:flex}
.reel-arrows{display:flex;gap:8px}.reel-header .reel-arrows button{min-width:44px;font-size:21px;padding:4px 12px}
.filterbar .small-label{flex-shrink:0}.filters{flex-wrap:wrap}.video-box{background:#181118;border:1px solid #472530;padding:16px}.video-title{font-size:15px;margin:0 0 14px;color:#cfa5b2}.video-box video{height:440px;object-fit:contain;background:#100c10}.video-box button{font-size:15px;margin-top:10px}.video-box+.video-box{margin-top:20px}
@media(max-width:1100px){.filterbar>.small-label{display:none}}
@media(max-width:600px){.video-box video{height:370px}}

.render-reel{padding-top:0}.image-top{justify-content:flex-end}
nav a,.contact-links a,.footer-bottom>a{display:flex;align-items:center;gap:8px}.type-symbol{font-family:Arial,sans-serif;flex-shrink:0}
.brand-wordmark{font-size:13px;letter-spacing:0;min-width:65px}.hero-top .eyebrow{position:relative;gap:0}.hero-top .eyebrow:before{content:'';height:6px;width:6px;background:#e73a50;flex-shrink:0;border-radius:50%;margin-right:10px}
.filters button svg,.languages button svg{margin:auto}.reel-caption>span:first-child{min-width:0}.contact-links a svg{flex-shrink:1}.project-category svg,.project-description .label svg{display:inline-block!important}.project-description .label{display:block}
#viewer-title{max-width:calc(100% - 60px);font-size:22px}.email{font-size:clamp(17px,2.8vw,39px)}.email svg{flex-shrink:1}.hero-foot>span{max-width:100%}
@media(max-width:800px){.brand-wordmark{font-size:10px;min-width:51px}nav{gap:12px}.hero-top .eyebrow{font-size:11px}.reel-caption{font-size:15px}}

.gallery-stage{position:relative}.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:44px;height:44px;border-radius:50%;border:1px solid #bc728580;background:#160e16de;color:#fff;display:grid;place-items:center;font-size:25px;box-shadow:0 3px 18px #0004}.gallery-arrow:hover{background:#8e233e;border-color:#ed859e}.gallery-prev{left:12px}.gallery-next{right:12px}.gallery-counter{position:absolute;left:14px;bottom:14px;background:#140c13dd;border:1px solid #77405280;padding:7px 10px;color:#ecdae1;font-size:12px;pointer-events:none;letter-spacing:1px}.thumbs{position:relative;overflow-y:hidden;min-height:55px;scroll-behavior:smooth}.video-box video{pointer-events:none;user-select:none}.works{padding-top:65px}
.concept-section{grid-column:1/-1;margin-top:24px;padding:35px;border:1px solid #5b2b3d;background:linear-gradient(135deg,#2b1522,#140f16 70%)}.concept-heading{margin-bottom:28px}.concept-heading h3{font-size:32px;margin:15px 0}.concept-heading p{font-size:16px;line-height:1.7;color:#b99eaa;margin:0}.concept-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.concept-card{min-width:0}.concept-card-title{display:flex;align-items:center;gap:15px;border-top:1px solid #794555;padding:18px 0}.concept-card-title>span{font-size:13px;color:#df758f}.concept-card-title h4{font-size:22px;margin:0;font-weight:400}.concept-card .main-render{aspect-ratio:16/11}.concept-card .thumbs button{flex-basis:70px}.concept-heading .eyebrow{font-size:12px}
@media(max-width:800px){.concept-section{padding:20px;margin-top:0}.concept-grid{grid-template-columns:1fr;gap:30px}.concept-heading h3{font-size:27px}.gallery-arrow{width:40px;height:40px}.gallery-prev{left:9px}.gallery-next{right:9px}.works{padding-top:45px}}
/* Centered introduction, readable type and collection layouts. */
.hero-title{justify-content:center;align-items:center;text-align:center;margin:64px 0 46px}.hero-title h1{width:100%;max-width:1050px;font-size:clamp(46px,7.4vw,110px);letter-spacing:0;line-height:1.08}.hero-title h1>span{display:flex;justify-content:center}.hero-title h1 svg{margin:auto}.hero-foot{justify-content:center}.hero-top{gap:25px}
nav{font-size:20px}.languages{font-size:19px}.brand-wordmark{font-size:16px;min-width:78px}
.eyebrow,.small-label,.hero-foot,.image-top,.work-count,.footer-bottom,.contact-dot{font-size:17px;letter-spacing:.5px;color:#beaeb7}
.filters button{font-size:19px;padding:12px 19px}.project-index{font-size:17px;color:#db8398}.project-category{font-size:18px;color:#d8b8c4}.project-description .label{font-size:17px;color:#bca6b0}.project-description p,.about p{font-size:20px;line-height:1.75;color:#c2b4bc}.gallery-link{font-size:20px}.about-tags{font-size:17px}.contact-links a{font-size:21px}.reel-caption{font-size:19px}.video-title{font-size:20px}.gallery-counter{font-size:15px}.project h3{font-size:clamp(29px,2.8vw,42px)}
.gallery-arrow{top:50%;inset-block-start:50%;transform:translateY(-50%);padding:0;display:flex;align-items:center;justify-content:center;line-height:1;width:48px;height:48px}.gallery-arrow svg,.viewer-body button svg{width:24px;height:24px;display:block;flex:none}.viewer-body button{display:flex;align-items:center;justify-content:center;padding:0}
.project-folder{border:1px solid #663044;margin-bottom:65px;background:#181017;border-radius:3px;overflow:hidden}.folder-summary{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);list-style:none;cursor:pointer;gap:35px;align-items:center}.folder-summary::-webkit-details-marker{display:none}.folder-cover{position:relative;aspect-ratio:16/10;overflow:hidden;background:#23151e}.folder-cover img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.folder-summary:hover .folder-cover img{transform:scale(1.045)}.folder-cover-mark{position:absolute;bottom:20px;left:20px;width:44px;height:44px;display:grid;place-items:center;background:#190e17c9;border:1px solid #bb5e7a;color:#fff;font-size:24px}.folder-info{padding:30px 35px 30px 0;min-width:0}.folder-kicker{font-size:15px;color:#d7859b;letter-spacing:1px}.folder-info h3{font-size:clamp(29px,3vw,43px);margin:24px 0}.folder-count{font-size:18px;color:#c4abb5}.folder-action{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #71394d;margin-top:28px;padding-top:22px;font-size:19px}.folder-symbol{font-size:34px;font-weight:300;transition:transform .4s}.folder-close-label{display:none}.project-folder[open]>.folder-summary .folder-open-label{display:none}.project-folder[open]>.folder-summary .folder-close-label{display:block}.project-folder[open] .folder-symbol{transform:rotate(45deg)}.folder-content{padding:40px 30px 0;border-top:1px solid #613145}.folder-content>.project:last-child{margin-bottom:0;border-bottom:0}.folder-content .project{gap:4%}.project,.project-folder{scroll-margin-top:110px}.folder-summary:focus-visible{outline:2px solid #f47c99;outline-offset:-5px}
.reveal{opacity:0;transform:translateY(35px);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.75,.2,1)}.reveal.is-visible{opacity:1;transform:translateY(0)}.hero-title h1>span{animation:intro-arrive 1s both cubic-bezier(.2,.75,.2,1)}.hero-title h1>span:nth-child(2){animation-delay:.14s}.hero-title h1>span:nth-child(3){animation-delay:.28s}.filters button,nav a,.contact-links a{transition:color .25s,background .25s,transform .25s}.filters button:hover{transform:translateY(-2px)}.contact-links a:hover{color:#ff819c;transform:translateX(4px)}dialog[open]{animation:dialog-arrive .3s ease-out}@keyframes intro-arrive{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}@keyframes dialog-arrive{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}
@media(max-width:1100px){.hero-top .small-label{display:none}.folder-summary{gap:25px}.folder-info{padding-right:25px}}
@media(max-width:800px){nav{font-size:17px;gap:12px}.languages{font-size:17px}.brand-wordmark{font-size:12px;min-width:60px}.hero-title{margin:45px 0 35px}.hero-title h1{font-size:9vw}.hero-top .eyebrow{font-size:16px}.eyebrow,.small-label,.hero-foot,.work-count,.footer-bottom,.contact-dot{font-size:15px}.filters button{font-size:17px;padding:11px 14px}.project-index{font-size:15px}.project-category{font-size:17px}.project-description .label{font-size:16px}.project-description p,.about p{font-size:18px}.gallery-link{font-size:18px}.contact-links a{font-size:19px}.reel-caption{font-size:18px}.about-tags{font-size:15px}.folder-summary{grid-template-columns:1fr;gap:0}.folder-info{padding:25px}.folder-info h3{font-size:32px}.folder-content{padding:25px 16px 0}.project-folder{margin-bottom:45px}.folder-kicker{font-size:14px}.gallery-arrow{width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.hero-title h1>span,dialog[open]{animation:none}.folder-cover img,.folder-symbol{transition:none}html{scroll-behavior:auto}}
/* More air and a distinct frame for every project. */
#project-list>.project{padding:34px 30px 42px;margin-bottom:110px;border:1px solid #59313f;border-top:2px solid #9b405c;background:linear-gradient(145deg,#1c131a,#110e12 70%);border-radius:5px;box-shadow:0 20px 55px #0002}
.project-folder{margin-top:22px;margin-bottom:110px;border-top:2px solid #a1425e;box-shadow:0 20px 55px #0002}.folder-content{padding:48px 28px 12px;background:#0f0c10}.folder-content>.project{padding:26px;margin-bottom:65px;border:1px solid #4c2938;border-top:2px solid #713148;border-radius:4px;background:#191118}.folder-content>.project:last-child{margin-bottom:25px;border-bottom:1px solid #4c2938}.project-text{padding:10px 0}.project-description{margin-top:30px;padding-top:26px}.project .concept-section{margin-top:38px}
.zekton-reading{font-size:22px;line-height:1.65;letter-spacing:0}.zekton-word{display:inline-block;vertical-align:-.17em;height:1.15em;max-width:100%;overflow:visible}.project-description p.zekton-reading,.about p.zekton-reading{font-size:23px;line-height:1.65}.gallery-counter.zekton-reading,#viewer-count.zekton-reading{font-size:18px;line-height:1.2}.folder-count.zekton-reading{font-size:21px}.footer-bottom .zekton-reading{font-size:17px}
@media(max-width:800px){#project-list>.project{padding:20px 15px 28px;margin-bottom:65px}.project-folder{margin-bottom:65px}.folder-content{padding:28px 12px 0}.folder-content>.project{padding:18px 12px;margin-bottom:42px}.project-description p.zekton-reading,.about p.zekton-reading{font-size:21px}.zekton-reading{font-size:20px}.project .concept-section{margin-top:10px}}


/* Project reveals are reversible; the headline has an independent startup. */
.reveal{transition:opacity .65s ease,transform .8s cubic-bezier(.2,.75,.2,1)}
.hero-title{opacity:1;transform:none}
.hero-title h1>span{animation:none;opacity:1;transform:none;filter:none;transition:opacity .5s ease,transform .6s ease,filter .5s ease;will-change:opacity,transform}
.hero-title.hero-offscreen h1>span{opacity:0;transform:translateY(28px);filter:blur(5px)}
.reel-window{min-height:188px}
@media(max-width:800px){.reel-window{min-height:150px}}
@media(prefers-reduced-motion:reduce){.hero-title.hero-offscreen h1>span{opacity:1;transform:none;filter:none;transition:none}}

/* Images are interactive media, never selectable text. */
img,.main-render,.thumbs button,.folder-cover,.reel-card,#viewer-image{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;-webkit-tap-highlight-color:transparent}
img::selection,.main-render::selection,.main-render *::selection,.thumbs *::selection,.folder-cover *::selection,.reel-card *::selection,#viewer-image::selection{background:transparent;color:inherit}
.main-render img,.thumbs img,.folder-cover img{pointer-events:none}
.main-render:active{background:#181318}.thumbs button:active{background:#1d1318}

/* Project descriptions and centered contact section. */
.folder-description{font-size:20px;line-height:1.7;color:#c2b4bc;margin:24px 0 0;overflow-wrap:anywhere}
.folder-description.zekton-reading{font-size:21px;line-height:1.65}
footer h2{text-align:center;margin-left:auto;margin-right:auto}footer h2 svg{margin-left:auto;margin-right:auto}
footer .email{justify-content:center;text-align:center}footer .contact-links{justify-content:center;text-align:center}
footer .footer-bottom{justify-content:center;gap:30px;flex-wrap:wrap;text-align:center}
@media(max-width:800px){.folder-description,.folder-description.zekton-reading{font-size:18px}footer .email{font-size:clamp(15px,4.4vw,30px);gap:10px}footer .footer-bottom{gap:20px}}

/* Experience preface and tool list before selected projects. */
.intro-profile{max-width:1620px;margin:0 auto;padding:30px 5% 65px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(35px,6vw,95px);border-bottom:1px solid #4c2938}
.intro-copy p{font-size:21px;line-height:1.75;color:#c2b4bc;margin:0 0 26px}.intro-copy p:last-child{margin-bottom:0}
.intro-tools{border-left:1px solid #663044;padding-left:32px}.intro-tools h2{font-size:26px;font-weight:400;margin:0 0 25px;color:#ead5de}.intro-tools ul{list-style:none;padding:0;margin:0}.intro-tools li{padding:0 0 21px;margin:0 0 21px;border-bottom:1px solid #422330}.intro-tools li:last-child{padding:0;margin:0;border:0}.intro-tools strong,.intro-tools li>span{display:block;font-size:19px;line-height:1.65}.intro-tools strong{font-weight:400;color:#e6a2b5;margin-bottom:7px}.intro-tools li>span{color:#c2b4bc}
.intro-profile .zekton-reading{font-size:21px;line-height:1.7}.intro-tools .zekton-reading{font-size:19px}
.reel-caption{font-size:19px}.reel-caption>span:first-child{flex:1}.reel-caption>span:last-child{flex:none}
/* Staggered entrance for the design approach panel. */
.about{padding:42px 32px;border:1px solid #603044;border-top:2px solid #a1425e;background:linear-gradient(135deg,#24141e,#110e12 75%);border-radius:5px;box-shadow:0 20px 55px #0002}
.about>div>h2,.about>div>p,.about>div>.about-tags{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .9s cubic-bezier(.2,.75,.2,1)}
.about.is-visible>div>h2,.about.is-visible>div>p,.about.is-visible>div>.about-tags{opacity:1;transform:translateY(0)}
.about.is-visible>div>h2{transition-delay:.12s}.about.is-visible>div>p{transition-delay:.25s}.about.is-visible>div>.about-tags{transition-delay:.38s}
footer h2{white-space:nowrap;font-size:clamp(16px,4.1vw,70px);max-width:100%;text-align:center;display:flex;justify-content:center;align-items:center}footer h2 svg{flex-shrink:1;max-width:100%;margin:0 auto}
@media(max-width:800px){.intro-profile{grid-template-columns:1fr;padding-top:15px;padding-bottom:45px;gap:32px}.intro-copy p,.intro-profile .zekton-reading{font-size:18px}.intro-tools{border-left:0;border-top:1px solid #663044;padding:28px 0 0}.intro-tools h2{font-size:24px}.intro-tools strong,.intro-tools li>span,.intro-tools .zekton-reading{font-size:17px}.about{padding:28px 20px}.reel-caption{font-size:18px}}
@media(prefers-reduced-motion:reduce){.about>div>h2,.about>div>p,.about>div>.about-tags{opacity:1;transform:none;transition:none}}

/* Email enters with the contact section and responds to interaction. */
footer .email{transition:opacity .7s ease,transform .8s cubic-bezier(.2,.75,.2,1),color .25s ease}footer .email:hover,footer .email:focus-visible{color:#ff819c}
@media(prefers-reduced-motion:reduce){footer .email{transition:none}}

/* Final hierarchy, directional navigation and centered footer. */
header{transition:transform .3s cubic-bezier(.2,.75,.2,1)}
header.header-hidden{transform:translateY(-100%)}
header:focus-within{transform:translateY(0)}
.hero-top{justify-content:center;text-align:center}
.hero-top .eyebrow{justify-content:center;font-size:clamp(18px,2vw,24px)}
footer .footer-bottom{flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center}
footer .footer-bottom>span:nth-child(2){display:block}
