/* Original project artwork, paired with the real project names and destinations. */
.ref-case:nth-child(even){direction:ltr}
.ref-cases{overflow:clip}
.ref-case{scroll-margin-top:90px}
.project-preview{min-width:0}
.project-dialog .r-button:after,.project-all:after{content:none}
.personal-intro{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-bottom:55px;font-size:18px;line-height:1.5}.personal-intro strong{color:#ff4b25}.personal-intro span{font-size:14px;color:#676767}.personal-intro a{text-decoration:underline;text-underline-offset:5px}.personal-intro i{margin:0 10px;font-style:normal}
.ref-case>.project-preview{align-self:stretch;min-height:480px;padding:52px 28px;display:flex;flex-direction:column;justify-content:center;order:0}.ref-case:nth-child(even)>.project-preview{order:2}
.project-preview{position:relative;display:block;background:#eae8e4;border-radius:inherit;overflow:hidden;color:#1b1b1b;isolation:isolate;text-decoration:none}
.project-preview--flix9{background:#eee9f5}.project-preview--gharmb{background:#f0eade}.project-preview--esquare{background:#f4e6c7}.project-preview--codepolarity{background:#ececfa}
.project-preview__browser{height:36px;display:flex;align-items:center;gap:5px;background:transparent;border-radius:0;padding:0 2px;font:11px ui-monospace,monospace;position:relative;z-index:1;margin-bottom:10px}
.project-preview__browser i{display:none}.project-preview__browser span{margin-right:auto;color:#50505a}.project-preview__browser b{font-size:17px}
.project-preview__screen{position:relative;overflow:hidden;aspect-ratio:16/9;background:transparent;border-radius:18px;box-shadow:0 16px 32px -24px #24203850;transition:box-shadow .65s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1)}
.project-preview__screen:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(112deg,transparent 28%,#ffffff38 46%,transparent 58%);background-size:220% 100%;background-position:125% 0;mix-blend-mode:screen;transition:background-position 1s cubic-bezier(.22,1,.36,1)}
.project-preview__screen img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform 1.05s cubic-bezier(.22,1,.36,1),filter .65s ease;transform-origin:center}
.project-preview__caption{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;margin-top:20px;color:#585858}
.project-preview__caption strong{display:inline-flex;align-items:center;color:#202020;border-bottom:1px solid #888;padding-bottom:3px;font-size:13px;transition:color .25s,transform .4s}
.project-preview__unavailable{min-height:250px;padding:35px 25px;background:#202235;color:#fff;border-radius:0 0 10px 10px}.project-preview__unavailable>span{font:42px ui-monospace,monospace;color:#c5c9ff}.project-preview__unavailable h3{font-size:27px;margin:18px 0 10px}.project-preview__unavailable p{font-size:14px;line-height:1.5}.project-preview__unavailable small{display:block;font-size:11px;color:#bbc0d4;margin-top:28px}
.ref-case-info .project-role{font-size:13px;line-height:1.55;margin-top:20px;color:#888}.project-result{border-top:1px solid #ddd;padding-top:20px;margin-top:28px;font-size:20px;color:#1d1d1d}.ref-case-info .ref-case-meta{margin-top:20px}.ref-case-meta span{line-height:1.7}.ref-case-info .r-case-button{align-self:flex-start;margin-top:22px}.ref-case-info{min-width:0}
.r-selected-grid .project-preview{padding:25px;border-radius:28px;min-height:0}.r-selected-grid .project-preview__caption{margin-top:16px}.r-selected-grid .r-project>div:last-child:not(.project-preview){padding-top:20px}.project-all{margin-top:35px}
.project-preview:focus-visible,.r-project:focus-visible{outline:3px solid #ff4b25;outline-offset:5px}
@media(hover:hover){a.project-preview:hover .project-preview__screen img,.r-project:hover .project-preview__screen img{transform:scale(1.045);filter:saturate(1.03) contrast(1.01)}a.project-preview:hover .project-preview__screen,.r-project:hover .project-preview__screen{box-shadow:0 30px 54px -18px #0008;transform:translateY(-4px)}a.project-preview:hover .project-preview__screen:after,.r-project:hover .project-preview__screen:after{background-position:-85% 0}a.project-preview:hover .project-preview__caption strong,.r-project:hover .project-preview__caption strong{color:#ff4b25;transform:translateX(5px)}.ref-case:hover .project-preview__browser{background:#fff}}
.project-dialog{border:0;border-radius:24px;padding:0;width:min(830px,calc(100vw - 32px));max-height:88dvh;background:#fff;color:#171717;overflow:auto;box-shadow:0 35px 120px #0005}.project-dialog::backdrop{background:#111a;backdrop-filter:blur(8px)}.project-dialog[open]{animation:project-appear .3s ease-out}.project-dialog__close{position:sticky;top:15px;float:right;margin:15px 15px -57px 0;z-index:2;width:42px;height:42px;display:grid;place-items:center;border:1px solid #ddd;border-radius:50%;background:white;color:#111;font:26px Arial;cursor:pointer}.project-dialog__image{width:100%;height:auto;display:block}.project-dialog__body{padding:34px 42px 40px}.project-dialog__body small{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#777}.project-dialog h2{font-size:48px;line-height:1.1;margin:18px 0}.project-dialog p{font-size:18px;line-height:1.65;color:#666;margin-bottom:20px}.project-dialog strong{font-size:23px;color:#ff4b25}.project-dialog h3{font-size:16px;margin:26px 0 8px}.project-dialog__contact{display:inline-block;margin:18px 0 0 20px;font-size:14px}
.personal-links{display:flex;gap:28px;margin-top:35px}.personal-links a{font-size:16px;border-bottom:1px solid #bbb;padding-bottom:6px}
.profile-toolkit{padding-top:90px;padding-bottom:100px}.profile-toolkit>h2{font-size:clamp(42px,5vw,72px);letter-spacing:-.05em;line-height:1.05;margin:32px 0}.profile-toolkit__grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.profile-toolkit__grid article{background:#f5f5f3;border-radius:20px;padding:30px}.profile-toolkit__grid h3{font-size:23px;margin-bottom:16px}.profile-toolkit__grid p,.profile-languages{font-size:17px;line-height:1.8;color:#666}.profile-languages{margin-top:32px}
.contact-copy .contact-profile-links{display:flex;flex-wrap:wrap;gap:14px 24px;margin-top:24px}.contact-copy .contact-profile-links a{font-size:15px;margin:0;padding-bottom:4px}.resume-edu h3:not(:first-of-type){margin-top:24px}
@keyframes project-appear{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media(max-width:760px){.personal-intro{flex-direction:column;align-items:flex-start;gap:12px;padding-bottom:35px;font-size:16px}.ref-case>.project-preview{min-height:0;padding:32px 20px}.ref-case:nth-child(even)>.project-preview{order:0}.project-preview__caption{font-size:10px}.project-preview__caption strong{font-size:12px}.project-dialog__body{padding:28px 24px}.project-dialog h2{font-size:36px}.project-dialog__contact{display:block;margin-left:0}.profile-toolkit__grid{grid-template-columns:1fr}.profile-toolkit{padding-top:55px;padding-bottom:60px}.personal-links{flex-wrap:wrap}.r-selected-grid .project-preview{padding:18px}}
@media(prefers-reduced-motion:reduce){.project-preview *{transition:none!important}.project-dialog[open]{animation:none}}

/* Shared interaction language: short movement, clear feedback, no elastic distortion. */
:where(.r-button,.r-case-button,.project-all,.nav-cta,.nav-shortcut){isolation:isolate;position:relative;transition:translate .28s cubic-bezier(.22,1,.36,1),box-shadow .28s ease,background-color .28s ease,color .28s ease!important}
:where(.r-button,.r-case-button,.project-all):before{content:"";position:absolute;z-index:-1;inset:0;border-radius:inherit;background:linear-gradient(110deg,transparent 28%,#ffffff70 48%,transparent 68%);translate:-135% 0;transition:translate .6s cubic-bezier(.22,1,.36,1)}
.r-tool-card,.ref-page .ref-service-band,.ref-page .ref-case,.ref-page .ref-mosaic-tile,.profile-toolkit__grid article{transition:translate .45s cubic-bezier(.22,1,.36,1),box-shadow .45s cubic-bezier(.22,1,.36,1),border-color .3s ease}
:where(.r-footer a,.personal-links a,.contact-profile-links a,.ref-page .ref-service-copy a,.ref-page .ref-timeline-row a){position:relative;text-decoration:none}
:where(.r-footer a,.personal-links a,.contact-profile-links a,.ref-page .ref-service-copy a,.ref-page .ref-timeline-row a):after{content:"";position:absolute;right:0;bottom:-5px;left:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .35s cubic-bezier(.22,1,.36,1)}
@media(hover:hover) and (pointer:fine){
  :where(.r-button,.r-case-button,.project-all,.nav-cta,.nav-shortcut):hover{translate:0 -3px;box-shadow:0 12px 24px -16px #17171780}
  :where(.r-button,.r-case-button,.project-all):hover:before{translate:135% 0}
  .nav .brand:hover img{transform:scale(1.1)!important}
  .r-tool-card:hover,.profile-toolkit__grid article:hover{translate:0 -7px;box-shadow:0 22px 38px -28px #17171770}
  .ref-page .ref-service-band:hover,.ref-page .ref-case:hover{translate:0 -5px;box-shadow:0 22px 42px -32px #17171750}
  .ref-page .ref-mosaic-tile:hover{translate:0 -6px}
  :where(.r-footer a,.personal-links a,.contact-profile-links a,.ref-page .ref-service-copy a,.ref-page .ref-timeline-row a):hover:after{transform:scaleX(1);transform-origin:left}
  .r-case-button:hover{background:#ff4b23;color:#fff}
}
.is-pressed{scale:.975}
@media(prefers-reduced-motion:reduce){:where(.r-button,.r-case-button,.project-all,.nav-cta,.nav-shortcut,.r-tool-card,.ref-page .ref-service-band,.ref-page .ref-case,.ref-page .ref-mosaic-tile,.profile-toolkit__grid article){transition:none!important;translate:0!important;scale:1!important}:where(.r-button,.r-case-button,.project-all):before{display:none}}

/* Work page: a focused case-file system for faster scanning and stronger project stories. */
.ref-work .ref-cases{padding:22px 0 132px;background:#f6f6f3}.ref-work .ref-cases .ref-shell{width:min(1240px,calc(100% - 80px))}.ref-work .ref-case.ref-case--showcase{--case-ink:#1c1d1a;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(390px,.88fr);margin:0 0 26px;border:1px solid #dfdfd9;border-radius:28px;background:#fff;box-shadow:0 22px 50px -42px #1c1d1a90;overflow:hidden;translate:0;transition:translate .5s cubic-bezier(.22,1,.36,1),box-shadow .5s cubic-bezier(.22,1,.36,1)}.ref-work .ref-case.ref-case--showcase:nth-child(2){--case-ink:#3d3329}.ref-work .ref-case.ref-case--showcase:nth-child(3){--case-ink:#3a2e1f}.ref-work .ref-case.ref-case--showcase:nth-child(4){--case-ink:#28264a}.ref-work .ref-case.ref-case--showcase:last-child{margin-bottom:0}.ref-work .ref-case>.project-preview{order:0;min-height:570px;padding:26px;justify-content:space-between;border-radius:0}.ref-work .ref-case:nth-child(even)>.project-preview{order:0}.ref-work .project-preview--flix9{background:linear-gradient(145deg,#e2dbea,#f4f0f7 58%,#cbc1d7)}.ref-work .project-preview--gharmb{background:linear-gradient(145deg,#e6ddcc,#f6f2e9 58%,#d2c6b5)}.ref-work .project-preview--esquare{background:linear-gradient(145deg,#f0daaa,#f8efd8 58%,#d0b77b)}.ref-work .project-preview--codepolarity{background:linear-gradient(145deg,#deddf0,#f4f4fb 58%,#c4c2df)}.ref-work .project-preview__browser{height:auto;margin:0;padding:0;font-size:10px;color:var(--case-ink)}.ref-work .project-preview__browser span{color:inherit}.ref-work .project-preview__screen{width:90%;margin:auto;border:1px solid #ffffffa8;border-radius:16px;box-shadow:0 28px 46px -26px #2420388c}.ref-work .project-preview__caption{margin:0;color:var(--case-ink);font:10px ui-monospace,monospace;letter-spacing:.06em;text-transform:uppercase}.ref-work .project-preview__caption strong{border:0;padding:0;color:inherit;font-size:10px;letter-spacing:.04em}.ref-work .ref-case-info{display:flex;min-height:570px;padding:42px 42px 35px;background:#fff;color:var(--case-ink)}.ref-work .ref-case-intro{max-width:430px}.ref-work .ref-case-eyebrow{display:block;color:#797a72;font:10px ui-monospace,monospace;letter-spacing:.1em}.ref-work .ref-case-info h2{margin:34px 0 0;color:var(--case-ink);font-size:clamp(44px,5.1vw,76px);font-weight:500;line-height:.84;letter-spacing:-.09em}.ref-work .ref-case-info h3{margin:18px 0 0;color:#ff4b23;font-size:clamp(21px,2vw,30px);font-weight:500;line-height:1.02;letter-spacing:-.055em}.ref-work .ref-case-info .ref-case-intro>p{max-width:390px;margin:22px 0 0;color:#6f7069;font-size:15px;line-height:1.55}.ref-work .ref-case-dossier{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:auto;padding-top:34px}.ref-work .ref-case-dossier>div{min-height:108px;padding:15px 15px 13px;border:1px solid #e7e7e1;border-radius:12px;background:#fafaf8}.ref-work .ref-case-dossier span{display:block;margin-bottom:18px;color:#8a8b84;font:9px ui-monospace,monospace;letter-spacing:.09em}.ref-work .ref-case-dossier p{margin:0;color:#555750;font-size:12px;line-height:1.45}.ref-work .ref-case-dossier strong{display:block;color:var(--case-ink);font-size:18px;font-weight:500;line-height:1.12;letter-spacing:-.035em}.ref-work .ref-case-footer{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:16px;padding-top:18px;border-top:1px solid #e7e7e1}.ref-work .ref-case-footer>span{max-width:60%;color:#74756e;font:9px/1.55 ui-monospace,monospace;letter-spacing:.04em}.ref-work .r-case-button{display:inline-flex;align-items:center;gap:13px;margin:0;padding:12px 14px;border-radius:10px;background:var(--case-ink);color:#fff;font-size:13px;white-space:nowrap}.ref-work .r-case-button b{font-size:17px;font-weight:400;transition:transform .3s cubic-bezier(.22,1,.36,1)}
@media(hover:hover) and (pointer:fine){.ref-work .ref-case.ref-case--showcase:hover{translate:0 -7px;box-shadow:0 30px 62px -38px #1c1d1a70}.ref-work .ref-case.ref-case--showcase:hover .project-preview__screen{transform:rotate(-1.5deg) translateY(-7px);box-shadow:0 38px 56px -22px #2420388c}.ref-work .ref-case.ref-case--showcase:hover .project-preview__screen img{transform:scale(1.05)}.ref-work .r-case-button:hover{background:#ff4b23;color:#fff}.ref-work .r-case-button:hover b{transform:translate(3px,-3px)}}
@media(max-width:900px){.ref-work .ref-cases .ref-shell{width:min(100% - 48px,1240px)}.ref-work .ref-case.ref-case--showcase{grid-template-columns:1fr}.ref-work .ref-case>.project-preview,.ref-work .ref-case-info{min-height:0}.ref-work .ref-case>.project-preview{padding:26px;min-height:430px}.ref-work .ref-case-info{padding:35px}.ref-work .ref-case-intro{max-width:620px}.ref-work .ref-case-info h2{font-size:64px}.ref-work .ref-case-dossier{margin-top:32px}}
@media(max-width:600px){.ref-work .ref-cases{padding:10px 0 68px}.ref-work .ref-cases .ref-shell{width:calc(100% - 28px)}.ref-work .ref-case.ref-case--showcase{margin-bottom:16px;border-radius:20px}.ref-work .ref-case>.project-preview{min-height:0;padding:20px}.ref-work .project-preview__screen{width:100%;border-radius:12px}.ref-work .project-preview__caption{margin-top:18px;font-size:8px}.ref-work .project-preview__caption strong{font-size:8px}.ref-work .ref-case-info{padding:27px 21px 22px}.ref-work .ref-case-info h2{margin-top:27px;font-size:16vw}.ref-work .ref-case-info h3{margin-top:13px;font-size:23px}.ref-work .ref-case-info .ref-case-intro>p{margin-top:16px;font-size:13px}.ref-work .ref-case-dossier{grid-template-columns:1fr;margin-top:26px;padding-top:25px}.ref-work .ref-case-dossier>div{min-height:0;padding:14px}.ref-work .ref-case-dossier span{margin-bottom:10px}.ref-work .ref-case-footer{align-items:flex-start;flex-direction:column;margin-top:14px;padding-top:15px}.ref-work .ref-case-footer>span{max-width:100%;font-size:8px}.ref-work .r-case-button{width:100%;justify-content:space-between;padding:13px 14px}}

.work-explorer{padding:0 0 22px;background:#f6f6f3}.work-explorer .ref-shell{width:min(1240px,calc(100% - 80px))}.work-explorer__bar{display:flex;justify-content:space-between;gap:20px;padding:20px 0 16px;border-top:1px solid #dfdfd9;color:#7b7c76;font:10px ui-monospace,monospace;letter-spacing:.08em}.work-filter-list{display:flex;flex-wrap:wrap;gap:8px}.work-filter-list button{padding:10px 14px;border:1px solid #d8d8d2;border-radius:999px;background:#fff;color:#5f605a;font:11px Urbanist,Arial,sans-serif;cursor:pointer;transition:background .25s,color .25s,border-color .25s,transform .25s}.work-filter-list button:hover{border-color:#1c1d1a;color:#1c1d1a;transform:translateY(-2px)}.work-filter-list button.is-active{border-color:#1c1d1a;background:#1c1d1a;color:#fff}.ref-work .ref-case[hidden]{display:none!important}@media(max-width:900px){.work-explorer .ref-shell{width:min(100% - 48px,1240px)}}@media(max-width:600px){.work-explorer{padding-bottom:14px}.work-explorer .ref-shell{width:calc(100% - 28px)}.work-explorer__bar{padding-top:15px;font-size:8px}.work-explorer__bar span{max-width:44%;text-align:right;line-height:1.4}.work-filter-list{gap:6px}.work-filter-list button{padding:9px 12px;font-size:10px}}
