.portfolio-book-cover{display:block;width:100%;height:auto;aspect-ratio:1697 / 2400;overflow:hidden;flex-shrink:0;isolation:isolate}.portfolio-book{--book-desk: #f0eee7;position:relative;display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:100%;height:calc(100dvh - var(--portfolio-book-offset, 142px));min-height:320px;overflow:hidden;color:#292b29;background:radial-gradient(ellipse at 50% 45%,#faf9f4,#f0eee7 67%,#e8e5dd);isolation:isolate}.portfolio-book.is-fullscreen,.portfolio-book.is-gallery{height:100dvh;min-height:0}.portfolio-book.is-gallery .portfolio-book__topline{min-height:46px;padding:max(.2rem,env(safe-area-inset-top)) clamp(.85rem,2.4vw,2.25rem) .2rem}.portfolio-book.is-gallery .portfolio-book__bottom{padding:.2rem 1rem max(.3rem,env(safe-area-inset-bottom))}.portfolio-book.is-gallery .portfolio-book__desk-caption{display:none}.portfolio-book.is-gallery .portfolio-book__hint:not(.has-status){position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.portfolio-book.is-gallery .portfolio-book__object{width:min(calc(100cqw - 40px),calc((100cqh - 16px) * var(--book-ratio)))}.portfolio-book.is-gallery .portfolio-book__object.is-cover{width:min(calc(100cqw - 40px),calc((100cqh - 44px) * var(--book-ratio)))}.portfolio-book__gallery-toggle{white-space:nowrap}.portfolio-book :is(button,a):focus-visible{outline:2px solid #6e776d;outline-offset:5px}.portfolio-book button{font:inherit}.portfolio-book__topline{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.3rem clamp(1rem,3.2vw,3rem)}.portfolio-book__identity{display:flex;flex-direction:column;gap:.28rem;font-size:.58rem;letter-spacing:.15em}.portfolio-book__identity>span:last-child{color:#77776e;font-size:.55rem;letter-spacing:.025em}.portfolio-book__tools{display:flex;align-items:center;gap:.4rem}.portfolio-book__tool{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-width:40px;min-height:40px;padding:.45rem .8rem;border:1px solid rgba(61,66,58,.17);border-radius:100px;background:#ffffff80;color:#444a41;font-size:.66rem!important;cursor:pointer;transition:background .18s ease,border-color .18s ease}.portfolio-book__tool:hover{background:#fffef9;border-color:#8f998c}.portfolio-book__tool--icon{width:40px;padding-inline:0}.portfolio-book__tool[aria-pressed=true]{color:#1f4837;border-color:#3d543e66;background:#e4e8dd}.portfolio-book__gallery-toggle.is-exit{flex-shrink:0;min-height:44px;padding-inline:1rem;margin-inline-start:.35rem;border-color:#304536;background:#304536;color:#fff;font-size:.72rem!important;font-weight:600}.portfolio-book__gallery-toggle.is-exit:hover{border-color:#1c3022;background:#1c3022}.portfolio-book__desk{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;container-type:size;padding:0;perspective:2200px}.portfolio-book__desk-caption{position:absolute;left:clamp(1rem,3.2vw,3rem);bottom:2rem;color:#909186;font-size:.53rem;line-height:1.7;letter-spacing:.15em}.portfolio-book__object{position:relative;display:block;flex:0 0 auto;width:min(92cqw,calc(96cqh * var(--book-ratio)));aspect-ratio:var(--book-ratio);padding:0;border:0;background:#eee9df;color:#242c2a;cursor:pointer;touch-action:pan-y;-moz-user-select:none;user-select:none;-webkit-user-select:none;transform-style:preserve-3d;box-shadow:0 27px 30px -20px #1d261f57,0 9px 18px -8px #1d261f3b;transition:box-shadow .3s ease}.portfolio-book__object.is-cover{box-shadow:2px 3px #bac1bd,4px 5px #e6e4dd,6px 7px #b7bdb5,13px 24px 34px -13px #1a271e63;transform:rotate(-1.2deg)}.portfolio-book__object.is-cover:hover{box-shadow:2px 3px #bac1bd,4px 5px #e6e4dd,6px 7px #b7bdb5,18px 29px 38px -13px #1a271e66}.portfolio-book__paper-stack{position:absolute;top:3px;right:-3px;bottom:-5px;left:2px;z-index:-1;background:repeating-linear-gradient(0deg,#cbc8be 0,#cbc8be 1px,#f9f7ee 1px,#f9f7ee 2px);border:1px solid #d4d0c5;box-shadow:1px 3px 2px #21271f1a}.portfolio-book__leaves{position:relative;z-index:1;display:flex;width:100%;height:100%;overflow:hidden;background:#ece8df}.portfolio-book__leaf{display:block;flex:1 1 0;min-width:0;height:100%}.portfolio-book__leaf>img,.portfolio-book__turn img{display:block;width:100%;height:100%;max-width:none;-o-object-fit:contain;object-fit:contain;pointer-events:none}.portfolio-book__leaf>:not(img){width:100%;height:100%}.portfolio-book__page-error{display:flex;align-items:center;justify-content:center;height:100%;padding:1rem;background:#f3f1ea;font-size:.7rem;text-align:center}.portfolio-book__gutter{position:absolute;inset:0 auto 0 50%;z-index:2;width:3%;transform:translate(-50%);background:linear-gradient(90deg,transparent,rgba(24,25,21,.1) 46%,rgba(18,22,16,.18) 50%,rgba(255,255,255,.13) 60%,transparent);pointer-events:none}.portfolio-book__open-label{position:absolute;z-index:5;left:50%;bottom:-1.15rem;display:inline-flex;align-items:center;gap:.65rem;padding:.55rem 1rem;border:1px solid #b6bdae;border-radius:100px;background:#f6f6ed;color:#344a38;font-size:.64rem;line-height:1.2;white-space:nowrap;box-shadow:0 4px 12px #1e281b14;transform:translate(-50%) rotate(1.2deg)}.portfolio-book__turn{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;perspective:2000px;pointer-events:none;transform-style:preserve-3d}.portfolio-book__turn-sheet{position:absolute;top:0;height:100%;width:50%;transform-style:preserve-3d}.portfolio-book__turn-front,.portfolio-book__turn-back{position:absolute;top:0;right:0;bottom:0;left:0;display:block;background:#eee9df;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden}.portfolio-book__turn-front:after,.portfolio-book__turn-back:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,rgba(20,25,19,.15),transparent 35%,rgba(20,25,19,.04));pointer-events:none}.portfolio-book__turn-back{transform:rotateY(180deg)}.portfolio-book__turn.is-next .portfolio-book__turn-sheet{left:50%;transform-origin:left center;animation:oj-book-forward .68s cubic-bezier(.32,.05,.23,1) both}.portfolio-book__turn.is-previous .portfolio-book__turn-sheet{left:0;transform-origin:right center;animation:oj-book-backward .68s cubic-bezier(.32,.05,.23,1) both}.portfolio-book__stationary{position:absolute;top:0;width:50%;height:100%;background:#eee9df}.portfolio-book__turn.is-next .portfolio-book__stationary{left:0}.portfolio-book__turn.is-previous .portfolio-book__stationary{right:0}.portfolio-book__turn.is-single-turn .portfolio-book__turn-sheet{left:0;width:100%}.portfolio-book__turn.is-single-turn.is-next .portfolio-book__turn-sheet{animation-name:oj-book-single-forward}.portfolio-book__turn.is-single-turn.is-previous .portfolio-book__turn-sheet{animation-name:oj-book-single-backward}.portfolio-book__bottom{position:relative;z-index:5;padding:.35rem 1rem .45rem;text-align:center}.portfolio-book__navigation{display:flex;justify-content:center;align-items:center;gap:1.4rem}.portfolio-book__navigation>button{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;padding:0;border:1px solid rgba(68,78,61,.22);border-radius:50%;background:#ffffff80;color:#394e3a;cursor:pointer}.portfolio-book__navigation>button:hover:not(:disabled){background:#fffef8}.portfolio-book__navigation>button:disabled{opacity:.27;cursor:default}.portfolio-book__page-number{display:grid;justify-items:center;min-width:110px;font-size:.63rem;line-height:1.5}.portfolio-book__page-number>span{color:#77786c;font-size:.57rem}.portfolio-book__page-number>bdi{margin-top:.12rem;font-size:.79rem;letter-spacing:.12em}.portfolio-book__page-number>bdi>span{color:#929388;font-size:.59rem}.portfolio-book__hint{margin:.4rem 0 0;color:#777a6d;font-size:.59rem;line-height:1.5}.portfolio-book__restart{position:absolute;inset-inline-end:2rem;bottom:2.5rem;padding:.3rem 0;border:0;border-bottom:1px solid #b7bcae;background:transparent;color:#4a5d40;font-size:.65rem!important;cursor:pointer}.portfolio-book__drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:21000;background:#242b223d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.portfolio-book__drawer{position:fixed;inset-block:0;inset-inline-end:0;z-index:21001;display:grid;grid-template-rows:auto minmax(0,1fr);width:min(520px,100vw);padding:1.5rem;border-inline-start:1px solid #d6d9ce;background:#f8f7f0;box-shadow:-8px 0 40px #1e251b1f}.portfolio-book__drawer-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-bottom:1.25rem}.portfolio-book__drawer-heading h2{margin:0;color:#344733;font-family:"OJ Serif",Georgia,serif;font-size:2.4rem;font-weight:400;line-height:1}.portfolio-book__drawer-heading p{margin:.6rem 0 0;color:#6b7764;font-size:.7rem}.portfolio-book__drawer-heading>button{display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid #d5d9ce;border-radius:50%;background:transparent;color:#344733;cursor:pointer}.portfolio-book__thumbnails{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:1.4rem .9rem;overflow-y:auto;padding:.3rem .3rem 1rem;overscroll-behavior:contain}.portfolio-book__thumbnails>button{display:flex;flex-direction:column;gap:.5rem;min-width:0;padding:0;border:0;background:transparent;text-align:start;cursor:pointer}.portfolio-book__thumbnails img{width:100%;height:auto;aspect-ratio:1697 / 2400;-o-object-fit:contain;object-fit:contain;border:1px solid #d8d9ce;box-shadow:0 4px 8px #22291d12}.portfolio-book__thumbnails .is-current img{outline:2px solid #698357;outline-offset:2px}.portfolio-book__thumbnails button>span{display:flex;align-items:baseline;gap:.4rem;font-size:.58rem;line-height:1.45;color:#6d7666}.portfolio-book__thumbnails bdi{color:#374932;font-size:.63rem}.portfolio-book__thumbnails button>span>span{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}@keyframes oj-book-forward{0%{transform:rotateY(0)}to{transform:rotateY(-180deg)}}@keyframes oj-book-backward{0%{transform:rotateY(0)}to{transform:rotateY(180deg)}}@keyframes oj-book-single-forward{0%{transform:rotateY(0);opacity:1}80%{opacity:1}to{transform:rotateY(-102deg);opacity:0}}@keyframes oj-book-single-backward{0%{transform:rotateY(0);opacity:1}80%{opacity:1}to{transform:rotateY(102deg);opacity:0}}html[lang^=ar] .portfolio-book__identity{letter-spacing:0}html[lang^=ar] .portfolio-book__drawer-heading h2{font-family:Tahoma,Segoe UI,Arial,sans-serif;font-size:1.8rem}@media (min-width: 701px){.portfolio-book__object.is-cover{width:min(92cqw,calc((100cqh - 44px) * var(--book-ratio)))}}@media (max-width: 700px){.portfolio-book{height:calc(100dvh - var(--portfolio-book-offset, 132px));min-height:300px}.portfolio-book__topline{flex-wrap:wrap;justify-content:center;gap:.55rem;padding:.7rem .85rem .3rem}.portfolio-book__identity{display:none}.portfolio-book__tools{gap:.45rem}.portfolio-book__tool{min-height:38px;min-width:38px;font-size:.63rem!important}.portfolio-book__tools{width:100%;max-width:370px;justify-content:center;gap:.3rem;flex-wrap:nowrap}.portfolio-book__tool{flex:0 1 auto;gap:.35rem;padding-inline:.55rem;white-space:nowrap}.portfolio-book__tool--icon,.portfolio-book__tool--secondary,.portfolio-book__gallery-toggle{flex:0 0 40px;width:40px;padding-inline:0}.portfolio-book__tool--secondary>span,.portfolio-book__gallery-toggle:not(.is-exit)>span{display:none}.portfolio-book__gallery-toggle.is-exit{flex:0 0 auto;width:auto;min-width:84px;padding-inline:.8rem}.portfolio-book.is-gallery .portfolio-book__topline{gap:0;padding-inline:.65rem}.portfolio-book.is-gallery .portfolio-book__object{width:min(calc(100cqw - 28px),calc((100cqh - 16px) * var(--book-ratio)))}.portfolio-book.is-gallery .portfolio-book__object.is-cover{width:min(calc(100cqw - 32px),calc((100cqh - 44px) * var(--book-ratio)))}.portfolio-book__desk-caption{display:none}.portfolio-book__object{width:min(92cqw,calc(88cqh * var(--book-ratio)))}.portfolio-book__bottom{padding-block:.55rem .7rem}.portfolio-book__hint{max-width:32rem;margin-inline:auto;font-size:.57rem}.portfolio-book__navigation{gap:1rem}.portfolio-book__restart{position:static;margin-block-start:.6rem}.portfolio-book__drawer{padding:1.15rem}}@media (max-height: 570px) and (min-width: 701px){.portfolio-book{min-height:240px}.portfolio-book__topline{padding-block:.35rem}.portfolio-book__tool{min-height:34px}.portfolio-book__bottom{padding-block:.35rem}.portfolio-book__hint,.portfolio-book__desk-caption{display:none}.portfolio-book__navigation>button{width:34px;height:34px;flex-basis:34px}}@media (prefers-reduced-motion: reduce){.portfolio-book *,.portfolio-book *:before,.portfolio-book *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.portfolio-book__object.is-cover{transform:none}}.portfolio-reader{--portfolio-header-height: 76px;--portfolio-book-offset: calc(var(--portfolio-header-height) + 60px)}.portfolio-reader>.portfolio-site-header{position:sticky;top:0}.portfolio-site-header[hidden]{display:none}.portfolio-reader--book.is-gallery{--portfolio-book-offset: 0px}.portfolio-reader--book.is-gallery>.portfolio-modes{display:none}.portfolio-modes{position:sticky;top:var(--portfolio-header-height);z-index:90;display:flex;align-items:center;justify-content:space-between;gap:.7rem;min-height:60px;padding:.35rem clamp(1.15rem,4vw,4rem);border-bottom:1px solid var(--line);background:var(--ivory)}.portfolio-modes__links{display:flex;gap:.25rem}.portfolio-modes__links a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:.55rem 1rem;font-size:.73rem;border-radius:100px}.portfolio-modes__links a[aria-current=page]{background:var(--ink);color:var(--ivory)}.portfolio-modes__download{display:inline-flex;align-items:center;gap:.45rem;min-height:42px;font-size:.68rem;white-space:nowrap}.portfolio-modes__download bdi{margin-inline-start:.3rem;color:var(--muted-ink);font-size:.6rem}.portfolio-reader--book>main{min-width:0}.portfolio-reader .portfolio-reader__body{scroll-margin-top:var(--portfolio-book-offset)}.portfolio-reader .portfolio-reader__sidebar{top:calc(var(--portfolio-book-offset) + 33px)}@media (max-width: 760px){.portfolio-reader{--portfolio-header-height: 68px}}@media (max-width: 600px){.portfolio-modes{padding-inline:1rem}.portfolio-modes__links a{padding-inline:.8rem;font-size:.69rem}.portfolio-modes__download{gap:.25rem;font-size:.62rem}.portfolio-modes__download bdi{margin-inline-start:.15rem;font-size:.56rem}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%;margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}@media (min-width: 1400px){.container{max-width:1400px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.-bottom-12{bottom:-3rem}.-left-12{left:-3rem}.-right-12{right:-3rem}.-top-12{top:-3rem}.bottom-0{bottom:0}.bottom-8{bottom:2rem}.left-0{left:0}.left-1{left:.25rem}.left-1\/2{left:50%}.left-2{left:.5rem}.left-4{left:1rem}.left-6{left:1.5rem}.left-\[50\%\]{left:50%}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.top-0{top:0}.top-1\.5{top:.375rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-3\.5{top:.875rem}.top-4{top:1rem}.top-6{top:1.5rem}.top-\[1px\]{top:1px}.top-\[50\%\]{top:50%}.top-\[60\%\]{top:60%}.top-full{top:100%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[1\]{z-index:1}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3\.5{margin-left:.875rem;margin-right:.875rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.-ml-4{margin-left:-1rem}.-mt-4{margin-top:-1rem}.mb-1{margin-bottom:.25rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:.5rem}.mb-20{margin-bottom:5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-6{margin-left:1.5rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mt-1\.5{margin-top:.375rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-20{margin-top:5rem}.mt-24{margin-top:6rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.\!hidden{display:none!important}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.aspect-video{aspect-ratio:16 / 9}.size-4{width:1rem;height:1rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-96{height:24rem}.h-\[1px\]{height:1px}.h-\[60vh\]{height:60vh}.h-\[70vh\]{height:70vh}.h-\[var\(--radix-navigation-menu-viewport-height\)\]{height:var(--radix-navigation-menu-viewport-height)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.h-svh{height:100svh}.max-h-96{max-height:24rem}.max-h-\[300px\]{max-height:300px}.max-h-screen{max-height:100vh}.min-h-0{min-height:0px}.min-h-\[80px\]{min-height:80px}.min-h-screen{min-height:100vh}.min-h-svh{min-height:100svh}.w-0{width:0px}.w-1{width:.25rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-4{width:1rem}.w-5{width:1.25rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[--sidebar-width\]{width:var(--sidebar-width)}.w-\[100px\]{width:100px}.w-\[1px\]{width:1px}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-px{width:1px}.min-w-0{min-width:0px}.min-w-5{min-width:1.25rem}.min-w-\[12rem\]{min-width:12rem}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-7xl{max-width:80rem}.max-w-\[--skeleton-width\]{max-width:var(--skeleton-width)}.max-w-lg{max-width:32rem}.max-w-max{max-width:-moz-max-content;max-width:max-content}.max-w-none{max-width:none}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-full{flex-basis:100%}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.origin-center{transform-origin:center}.origin-left{transform-origin:left}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-px{--tw-translate-x: -1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[-50\%\]{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-px{--tw-translate-x: 1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-0{--tw-rotate: 0deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate: 45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-0{--tw-scale-x: 0;--tw-scale-y: 0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-x-0{--tw-scale-x: 0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-x-100{--tw-scale-x: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-none{list-style-type:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-12{gap:3rem}.gap-16{gap:4rem}.gap-2{gap:.5rem}.gap-20{gap:5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.gap-x-20{-moz-column-gap:5rem;column-gap:5rem}.gap-y-16{row-gap:4rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-12>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(3rem * var(--tw-space-x-reverse));margin-left:calc(3rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1.5rem * var(--tw-space-x-reverse));margin-left:calc(1.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-32>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(8rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(8rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.whitespace-nowrap{white-space:nowrap}.break-words{overflow-wrap:break-word}.rounded-\[2px\]{border-radius:2px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-t-\[10px\]{border-top-left-radius:10px;border-top-right-radius:10px}.rounded-tl-sm{border-top-left-radius:calc(var(--radius) - 4px)}.border{border-width:1px}.border-2{border-width:2px}.border-\[1\.5px\]{border-width:1.5px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-\[--color-border\]{border-color:var(--color-border)}.border-border{border-color:hsl(var(--border))}.border-border\/50{border-color:hsl(var(--border) / .5)}.border-destructive{border-color:hsl(var(--destructive))}.border-destructive\/50{border-color:hsl(var(--destructive) / .5)}.border-input{border-color:hsl(var(--input))}.border-primary{border-color:hsl(var(--primary))}.border-sidebar-border{border-color:hsl(var(--sidebar-border))}.border-transparent{border-color:transparent}.border-l-transparent{border-left-color:transparent}.border-t-transparent{border-top-color:transparent}.bg-\[--color-bg\]{background-color:var(--color-bg)}.bg-accent{background-color:hsl(var(--accent))}.bg-background{background-color:hsl(var(--background))}.bg-background\/80{background-color:hsl(var(--background) / .8)}.bg-background\/90{background-color:hsl(var(--background) / .9)}.bg-black\/20{background-color:#0003}.bg-black\/80{background-color:#000c}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-foreground{background-color:hsl(var(--foreground))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-muted{background-color:hsl(var(--muted))}.bg-muted\/20{background-color:hsl(var(--muted) / .2)}.bg-muted\/50{background-color:hsl(var(--muted) / .5)}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-sidebar{background-color:hsl(var(--sidebar-background))}.bg-sidebar-border{background-color:hsl(var(--sidebar-border))}.bg-transparent{background-color:transparent}.bg-white\/40{background-color:#fff6}.bg-cover{background-size:cover}.bg-center{background-position:center}.bg-no-repeat{background-repeat:no-repeat}.fill-current{fill:currentColor}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-\[1px\]{padding:1px}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-32{padding-top:8rem;padding-bottom:8rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-16{padding-bottom:4rem}.pb-20{padding-bottom:5rem}.pb-3{padding-bottom:.75rem}.pb-32{padding-bottom:8rem}.pb-4{padding-bottom:1rem}.pl-2\.5{padding-left:.625rem}.pl-4{padding-left:1rem}.pl-6{padding-left:1.5rem}.pl-8{padding-left:2rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-12{padding-top:3rem}.pt-3{padding-top:.75rem}.pt-32{padding-top:8rem}.pt-4{padding-top:1rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-6xl{font-size:3.75rem;line-height:1}.text-\[0\.8rem\]{font-size:.8rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.not-italic{font-style:normal}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-widest{letter-spacing:.1em}.text-accent-foreground{color:hsl(var(--accent-foreground))}.text-background{color:hsl(var(--background))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-current{color:currentColor}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/50{color:hsl(var(--foreground) / .5)}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-sidebar-foreground{color:hsl(var(--sidebar-foreground))}.text-sidebar-foreground\/70{color:hsl(var(--sidebar-foreground) / .7)}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/60{color:#fff9}.text-white\/80{color:#fffc}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{--tw-shadow: 0 0 0 1px hsl(var(--sidebar-border));--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-0{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-ring{--tw-ring-color: hsl(var(--ring))}.ring-sidebar-ring{--tw-ring-color: hsl(var(--sidebar-ring))}.ring-offset-background{--tw-ring-offset-color: hsl(var(--background))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-md{--tw-backdrop-blur: blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[left\,right\,width\]{transition-property:left,right,width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[margin\,opa\]{transition-property:margin,opa;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-1000{transition-duration:1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{transition-timing-function:linear}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.fade-in-0{--tw-enter-opacity: 0}.fade-in-80{--tw-enter-opacity: .8}.zoom-in-95{--tw-enter-scale: .95}.duration-1000{animation-duration:1s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.duration-500{animation-duration:.5s}.duration-700{animation-duration:.7s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{animation-timing-function:linear}@font-face{font-family:"OJ Serif";src:url(/fonts/cormorant-garamond.woff2) format("woff2");font-display:swap;font-style:normal}@font-face{font-family:OJ Sans;src:url(/fonts/inter.woff2) format("woff2");font-display:swap;font-style:normal}:root{--paper: #e9e7e2;--ivory: #f7f6f2;--white: #fffefb;--brown: #171715;--brown-soft: #77756f;--clay: #b7b2aa;--ink: #171715;--muted-ink: #706f69;--line: rgba(23, 23, 21, .16);--background: 40 24% 96%;--foreground: 60 4% 9%;--border: 40 7% 82%;--radius: 0}*{box-sizing:border-box;border-color:var(--line)}html{scroll-behavior:smooth;scroll-padding-top:86px;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;min-width:320px;overflow-x:hidden;background:var(--ivory);color:var(--ink);font-family:OJ Sans,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}button,a{color:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}a{text-decoration:none}button{font:inherit}img{display:block;max-width:100%}::-moz-selection{background:var(--clay);color:var(--white)}::selection{background:var(--clay);color:var(--white)}@media (pointer: fine){html.has-custom-cursor,html.has-custom-cursor *{cursor:none!important}.custom-cursor-dot,.custom-cursor-ring{position:fixed;inset:0 auto auto 0;z-index:10000;pointer-events:none;opacity:0;mix-blend-mode:difference;will-change:transform;transition:opacity .16s ease}.custom-cursor-dot{width:3px;height:3px;border-radius:50%;background:#fff}.custom-cursor-ring{display:grid;place-items:center;width:22px;height:22px;border:1px solid #fff;border-radius:50%;overflow:hidden;color:#000;transition:width .18s ease,height .18s ease,border-radius .18s ease,opacity .16s ease,background .18s ease}.custom-cursor-ring:before,.custom-cursor-ring:after{position:absolute;inset:50% auto auto 50%;content:"";background:#fff;transform:translate(-50%,-50%)}.custom-cursor-ring:before{width:6px;height:1px}.custom-cursor-ring:after{width:1px;height:6px}.custom-cursor-label{position:relative;z-index:2;opacity:0;font-family:OJ Sans,Arial,sans-serif;font-size:.58rem;font-weight:700;letter-spacing:.1em;line-height:1;white-space:nowrap;transition:opacity .12s ease}.custom-cursor-dot.is-visible,.custom-cursor-ring.is-visible{opacity:1}.custom-cursor-ring.is-interactive{width:84px;height:34px;border-radius:100px;background:#fff}.custom-cursor-ring.is-interactive:before,.custom-cursor-ring.is-interactive:after{opacity:0}.custom-cursor-ring.is-interactive .custom-cursor-label{opacity:1}.custom-cursor-ring.is-interactive+.custom-cursor-dot{width:5px;height:5px}.custom-cursor-ring.is-pressed{width:70px;height:30px}}@media (prefers-reduced-motion: reduce){.custom-cursor-ring{transition:none}}.portfolio-shell{min-height:100vh;overflow:clip;background:var(--ivory)}.font-arabic{font-family:Tahoma,Segoe UI,Arial,sans-serif}.font-arabic h1,.font-arabic h2,.font-arabic h3,.font-arabic .statement-copy{font-family:Tahoma,Segoe UI,Arial,sans-serif;letter-spacing:0}.section-pad{padding:clamp(4.5rem,7vw,7rem) clamp(1.35rem,5vw,5rem)}.site-header{position:fixed;inset:0 0 auto;z-index:100;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:76px;padding:0 clamp(1.35rem,4vw,4rem);border-bottom:1px solid rgba(23,23,21,.1);background:#f5f2e6e6;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:min-height .3s ease,color .3s ease,background .3s ease,border-color .3s ease,-webkit-backdrop-filter .3s ease;transition:min-height .3s ease,color .3s ease,background .3s ease,border-color .3s ease,backdrop-filter .3s ease;transition:min-height .3s ease,color .3s ease,background .3s ease,border-color .3s ease,backdrop-filter .3s ease,-webkit-backdrop-filter .3s ease}.site-header.at-top{color:var(--ink);border-bottom-color:#1717151a;background:#f7f6f2d1;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.site-header.at-top .language-switcher{border-color:var(--line);background:#fffefb9e}.site-header.at-top .language-switcher button{color:var(--muted-ink)}.site-header.at-top .language-switcher button.is-active{background:var(--brown);color:var(--white)}.site-header.at-top .menu-toggle{border-color:var(--line)}.monogram{justify-self:start;font-family:"OJ Serif",Georgia,serif;font-size:1.9rem;font-weight:600;letter-spacing:-.05em}.desktop-navigation{display:flex;gap:clamp(1.5rem,3vw,3.5rem);align-items:center}.desktop-navigation a{position:relative;font-size:.69rem;letter-spacing:.15em;text-transform:uppercase}.desktop-navigation a:after{position:absolute;inset:auto 0 -7px;height:1px;content:"";background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .35s ease}.desktop-navigation a:hover:after{transform:scaleX(1);transform-origin:left}.header-actions{display:flex;justify-self:end;align-items:center;gap:.75rem}.language-switcher{display:flex;gap:.25rem;padding:.25rem;border:1px solid var(--line);border-radius:100px;background:#fffdf994}.language-switcher button{display:flex;align-items:center;gap:.35rem;padding:.35rem .55rem;border:0;border-radius:100px;background:transparent;color:var(--muted-ink);cursor:pointer;font-size:.63rem;letter-spacing:.08em;transition:background .25s ease,color .25s ease}.language-switcher button.is-active{background:var(--brown);color:var(--white)}.flag{position:relative;display:inline-block;flex:0 0 auto;width:16px;height:11px;overflow:hidden;border:1px solid rgba(23,23,21,.18);border-radius:1px}.flag-fr{background:linear-gradient(to right,#0055a4 0,#0055a4 33.33%,#fff 33.33%,#fff 66.66%,#ef4135 66.66%)}.flag-en{background:repeating-linear-gradient(to bottom,#b22234 0,#b22234 1.4px,#fff 1.4px,#fff 2.8px)}.flag-en:before{position:absolute;inset:0 auto auto 0;width:7px;height:6px;content:"";background:#3c3b6e}.flag-ar{display:grid;place-items:center;background:#c1272d}.flag-ar:after{color:#006233;content:"★";font-size:7px;line-height:1}.menu-toggle{display:none;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:transparent;cursor:pointer}.mobile-navigation{position:fixed;inset:76px 0 auto;display:none;max-height:calc(100dvh - 76px);overflow-y:auto;overscroll-behavior:contain;padding:1.5rem;border-bottom:1px solid var(--line);background:var(--ivory);transform:translateY(-120%);transition:transform .45s cubic-bezier(.16,1,.3,1)}.mobile-navigation.is-open{transform:translateY(0)}.mobile-navigation a{display:flex;align-items:baseline;gap:1rem;padding:.75rem 0;font-family:"OJ Serif",Georgia,serif;font-size:2.4rem;line-height:1}.mobile-navigation a span{font-family:OJ Sans,Arial,sans-serif;font-size:.62rem;letter-spacing:.15em}.hero-section{position:relative;display:block;isolation:isolate;min-height:100svh;padding:104px clamp(1.35rem,5vw,5rem) 3.2rem;overflow:hidden;background:var(--ivory);color:var(--ink)}.hero-section:before{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:"";background:linear-gradient(90deg,transparent 0 57%,rgba(23,23,21,.035) 57% 100%)}.hero-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;width:min(38rem,45vw);min-height:calc(100svh - 156px);margin-right:auto;margin-left:0;padding:2.5rem 0}.hero-copy .eyebrow{margin-bottom:1.5rem;color:var(--muted-ink)}.eyebrow,.section-index{margin:0 0 2.5rem;color:var(--brown-soft);font-size:.67rem;font-weight:600;letter-spacing:.17em;text-transform:uppercase}.hero-copy h1{width:min(7.2ch,100%);margin:0;font-family:"OJ Serif",Georgia,serif;font-size:clamp(3.75rem,6.1vw,6.9rem);font-weight:400;letter-spacing:-.055em;line-height:.8}.hero-introduction{display:grid;grid-template-columns:.9fr 1.1fr;gap:1.5rem;max-width:39rem;margin-top:clamp(1.5rem,2.4vw,2.5rem);padding-top:1.25rem;border-top:1px solid var(--line)}.hero-introduction p{margin:0;color:var(--muted-ink)}.hero-introduction .hero-role{color:var(--ink);font-weight:600}.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.35rem}.hero-actions a{min-width:9.25rem;padding:.75rem 1.25rem;border:1px solid rgba(23,23,21,.5);border-radius:100px;color:var(--ink);font-size:.7rem;font-weight:600;letter-spacing:.1em;text-align:center;text-transform:uppercase;transition:color .25s ease,background .25s ease,border-color .25s ease}.hero-actions a:first-child,.hero-actions a:hover{border-color:var(--brown);background:var(--brown);color:var(--white)}.availability{display:flex;align-items:center;gap:.7rem;margin:2rem 0 0;font-size:.67rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-ink)}.availability span{width:7px;height:7px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 5px #1717151a}.hero-visual{position:absolute;inset:98px clamp(1.35rem,5vw,5rem) auto auto;z-index:2;width:min(43vw,34rem);height:auto;aspect-ratio:1;margin:0;min-height:0;overflow:hidden;overflow:visible;background:#d9d8d5}.hero-visual img{position:relative;z-index:1;width:100%;height:100%;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center;filter:none;box-shadow:none}.hero-block{position:absolute;top:1.35rem;right:-1.35rem;bottom:-1.35rem;left:1.35rem;z-index:0;display:block;border:1px solid rgba(23,23,21,.12);background:#dedcd7}.hero-visual figcaption{position:absolute;inset:auto 0 -2rem 0;z-index:2;display:flex;justify-content:space-between;width:100%;padding-top:.75rem;border-top:1px solid var(--line);color:var(--muted-ink);font-size:.62rem;letter-spacing:.15em;text-transform:uppercase}.scroll-cue{position:absolute;inset:auto auto 2rem clamp(1.35rem,5vw,5rem);display:flex;align-items:center;gap:1rem;font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;z-index:2;color:var(--muted-ink)}.scroll-cue svg{width:18px;transition:transform .25s ease}.scroll-cue:hover svg{transform:translate(4px,4px)}.statement-section{position:relative;min-height:62vh;background:var(--brown);color:var(--ivory)}.statement-section .section-index{color:#f9f6f094}.statement-copy{position:relative;z-index:2;max-width:1100px;margin-inline-start:auto;font-family:"OJ Serif",Georgia,serif;font-size:clamp(2.2rem,4.35vw,4.65rem);line-height:1.04}.statement-copy span{color:var(--clay);font-style:italic}.statement-mark{position:absolute;inset:auto 2vw -10vw auto;color:#ffffff09;font-family:"OJ Serif",Georgia,serif;font-size:40vw;line-height:.72;pointer-events:none}.work-section{background:var(--white)}.section-heading{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:4rem;align-items:end;max-width:1500px;margin:0 auto clamp(3.5rem,6vw,6rem)}.section-heading h2,.about-content h2,.contact-section h2{margin:0;font-family:"OJ Serif",Georgia,serif;font-size:clamp(2.8rem,5vw,5.4rem);font-weight:400;letter-spacing:-.045em;line-height:.94}.section-heading>p{max-width:33rem;margin:0;color:var(--muted-ink)}.project-list{max-width:1500px;margin:0 auto}.project-card{margin-bottom:clamp(5rem,8vw,8.5rem)}.project-card-2{width:76%;margin-inline-start:auto}.project-card-3{width:84%}.project-image-wrap{position:relative;overflow:hidden;background:var(--paper)}.project-card-1 .project-image-wrap{aspect-ratio:16 / 9}.project-card-2 .project-image-wrap{aspect-ratio:4 / 3}.project-card-3 .project-image-wrap{aspect-ratio:3 / 2}.project-image-wrap img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;filter:grayscale(1) sepia(.08);transition:transform .9s cubic-bezier(.16,1,.3,1),filter .5s ease}.project-card:hover .project-image-wrap img{transform:scale(1.035);filter:grayscale(.35) sepia(.1)}.project-placeholder{position:absolute;inset:1rem 1rem auto auto;padding:.48rem .65rem;background:#f9f6f0e0;color:var(--brown);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.project-details{display:grid;grid-template-columns:70px minmax(0,1fr) minmax(170px,.3fr);gap:2rem;padding-top:1.75rem;border-top:1px solid var(--line)}.project-number,.project-type,.project-meta{font-size:.63rem;letter-spacing:.11em;text-transform:uppercase}.project-type{margin:0 0 .8rem;color:var(--clay)}.project-details h3{margin:0;font-family:"OJ Serif",Georgia,serif;font-size:clamp(2.1rem,3.1vw,3.6rem);font-weight:400;letter-spacing:-.04em;line-height:.95}.project-description{max-width:42rem;margin:1.25rem 0 0;color:var(--muted-ink)}.project-meta{display:flex;flex-direction:column;gap:.5rem}.project-link{display:inline-flex;gap:.4rem;align-items:center;margin-top:auto;color:var(--muted-ink)}.about-section{display:grid;grid-template-columns:minmax(320px,.88fr) minmax(0,1.12fr);gap:clamp(3rem,8vw,9rem);background:var(--paper)}.about-portrait{position:relative;align-self:start}.about-portrait:before{position:absolute;inset:-1.5rem 10% auto -1.5rem;height:34%;content:"";background:var(--clay)}.about-portrait img{position:relative;width:100%;aspect-ratio:4 / 5;-o-object-fit:cover;object-fit:cover;-o-object-position:50% 32%;object-position:50% 32%;filter:grayscale(1) contrast(.9)}.portrait-caption{display:block;margin-top:.8rem;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase}.about-content{max-width:780px}.about-content h2{margin-bottom:clamp(2rem,3.5vw,3.5rem)}.about-content>p:not(.section-index){max-width:44rem;margin:0 0 1.4rem;color:var(--muted-ink);font-size:clamp(.98rem,1.15vw,1.08rem);line-height:1.6}.about-content .about-lead{color:var(--ink)!important;font-family:"OJ Serif",Georgia,serif;font-size:clamp(1.45rem,2.15vw,2.15rem)!important;line-height:1.24}.about-facts{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:3rem;padding:1.5rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.about-facts span,.tools-row>span{color:var(--clay);font-size:.62rem;letter-spacing:.13em;text-transform:uppercase}.about-facts p{margin:.5rem 0 0}.cv-link{display:inline-flex;align-items:center;gap:.6rem;margin-top:2rem;padding-bottom:.4rem;border-bottom:1px solid currentColor;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}.services-section{background:var(--brown);color:var(--ivory)}.section-heading.inverse .section-index,.section-heading.inverse>p{color:#f9f6f094}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);max-width:1500px;margin:0 auto;border-top:1px solid rgba(249,246,240,.22);border-bottom:1px solid rgba(249,246,240,.22)}.services-grid article{min-height:280px;padding:1.5rem;border-inline-end:1px solid rgba(249,246,240,.22);transition:background .3s ease,color .3s ease}.services-grid article:last-child{border-inline-end:0}.services-grid article:hover{background:var(--clay);color:var(--brown)}.services-grid article>span{font-size:.62rem;letter-spacing:.14em}.services-grid h3{margin:4.25rem 0 1rem;font-family:"OJ Serif",Georgia,serif;font-size:clamp(1.75rem,2.35vw,2.65rem);font-weight:400;line-height:.98}.services-grid p{margin:0;color:#f9f6f0a6}.services-grid article:hover p{color:#171715c2}.tools-row{display:grid;grid-template-columns:.25fr 1fr;gap:2rem;max-width:1500px;margin:3rem auto 0}.tools-row>div{display:flex;flex-wrap:wrap;gap:.7rem}.tools-row>div span{display:inline-flex;align-items:center;padding:.52rem .85rem;border:1px solid rgba(249,246,240,.25);border-radius:100px;font-size:.72rem;transform:scale(1);transform-origin:center;transition:transform .22s cubic-bezier(.16,1,.3,1),border-color .22s ease}@media (hover: hover) and (pointer: fine){.tools-row>div span:hover{border-color:#f9f6f07a;transform:scale(1.045)}}.skills-row{margin-top:1rem}.contact-section{background:var(--ivory)}.contact-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(290px,.75fr);gap:5rem;align-items:end;max-width:1500px;margin:0 auto clamp(5rem,8vw,8rem)}.contact-grid>div:first-child>p{max-width:38rem;margin:2.5rem 0 0;color:var(--muted-ink)}.contact-action>a{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-family:"OJ Serif",Georgia,serif;font-size:clamp(1.7rem,3vw,2.6rem)}.contact-action>a svg{transition:transform .25s ease}.contact-action>a:hover svg{transform:translate(5px,-5px)}.contact-action>p{margin:1rem 0 0;font-size:.75rem}footer{display:flex;justify-content:space-between;gap:2rem;max-width:1500px;margin:0 auto;padding-top:1.5rem;border-top:1px solid var(--line);color:var(--muted-ink);font-size:.66rem;letter-spacing:.07em;text-transform:uppercase}.footer-socials{display:flex;gap:1.5rem}[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}[data-reveal].is-visible{opacity:1;transform:translateY(0)}[dir=rtl] .hero-copy h1,[dir=rtl] .hero-visual figcaption,[dir=rtl] .project-number,[dir=rtl] .project-meta,[dir=rtl] .language-switcher,[dir=rtl] .monogram,[dir=rtl] .contact-action p:first-of-type{direction:ltr}[dir=rtl] .eyebrow,[dir=rtl] .section-index,[dir=rtl] .project-type,[dir=rtl] footer,[dir=rtl] .availability{letter-spacing:0}[dir=rtl] .scroll-cue svg,[dir=rtl] .project-link svg,[dir=rtl] .contact-action>a svg{transform:scaleX(-1)}[dir=rtl] .scroll-cue:hover svg{transform:translate(-4px,4px) scaleX(-1)}[dir=rtl] .contact-action>a:hover svg{transform:translate(-5px,-5px) scaleX(-1)}@media (max-width: 1050px){.site-header{grid-template-columns:1fr auto}.desktop-navigation{display:none}.menu-toggle{display:grid}.mobile-navigation{display:block}.hero-section{padding-top:104px}.hero-copy{width:min(34rem,47vw);padding-inline-end:0}.hero-copy h1{font-size:clamp(3.8rem,10vw,6.8rem)}.hero-visual{inset:104px 1.5rem auto auto;width:43vw;min-height:0;margin-top:0}.scroll-cue{display:none}.services-grid{grid-template-columns:repeat(2,1fr)}.services-grid article:nth-child(2){border-inline-end:0}.services-grid article:nth-child(-n+2){border-bottom:1px solid rgba(249,246,240,.22)}}@media (max-width: 760px){html{scroll-padding-top:68px}.site-header{min-height:68px;padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}.monogram{font-size:1.55rem}.header-actions{gap:.55rem}.mobile-navigation{inset-block-start:68px;max-height:calc(100svh - 68px);overflow-y:auto;overscroll-behavior:contain;padding-bottom:max(1.5rem,env(safe-area-inset-bottom))}.language-switcher button{padding:.34rem .45rem}.menu-toggle{width:44px;height:44px}.hero-section{min-height:100svh;padding:68px 1.25rem max(2rem,env(safe-area-inset-bottom))}.hero-section:before{background:linear-gradient(180deg,rgba(23,23,21,.035) 0 50%,transparent 50% 100%)}.hero-copy{justify-content:flex-start;width:100%;min-height:calc(100svh - 100px);padding:calc(88vw + 3rem) 0 2rem}.hero-copy h1{font-size:clamp(3rem,14vw,4.45rem);line-height:.84}.hero-copy .eyebrow{margin-bottom:1rem}.hero-introduction{grid-template-columns:1fr;gap:.65rem;margin-top:1.35rem;padding-top:.9rem}.hero-introduction p:not(.hero-role){display:none}.availability{margin-top:1.25rem}.hero-visual{inset:80px 1.25rem auto;width:auto;height:auto;min-height:0;margin:0;aspect-ratio:1;background:#d9d8d5}.hero-visual img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center;transform:none;box-shadow:none}.hero-block{top:.75rem;right:-.75rem;bottom:-.75rem;left:.75rem}.hero-visual figcaption{display:none}.hero-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;margin-top:1.5rem}.hero-actions a{min-width:0;min-height:44px;padding-inline:.7rem}.section-pad{padding:4.25rem 1.25rem}.statement-section{min-height:auto}.statement-copy{font-size:clamp(2rem,9vw,3.2rem)}.section-heading{grid-template-columns:1fr;gap:1.5rem;margin-bottom:3rem}.section-heading h2,.about-content h2,.contact-section h2{font-size:clamp(2.55rem,11vw,3.7rem)}.project-card-2,.project-card-3{width:100%}.project-card{margin-bottom:4.25rem}.project-card-1 .project-image-wrap,.project-card-2 .project-image-wrap,.project-card-3 .project-image-wrap{aspect-ratio:4 / 3}.project-details{grid-template-columns:42px 1fr;gap:1rem}.project-meta{grid-column:2;margin-top:.7rem}.project-link{margin-top:.75rem}.about-section{grid-template-columns:1fr;gap:3rem}.about-portrait{max-width:78%}.about-facts{grid-template-columns:1fr;gap:1.3rem}.services-grid{grid-template-columns:1fr}.services-grid article{min-height:215px;border-inline-end:0;border-bottom:1px solid rgba(249,246,240,.22)}.services-grid article:last-child{border-bottom:0}.services-grid h3{margin-top:3rem}.tools-row{grid-template-columns:1fr}.tools-row>div span{max-width:100%;overflow-wrap:anywhere}.contact-grid{grid-template-columns:1fr;gap:3rem;margin-bottom:5rem}.contact-action>p{overflow-wrap:anywhere}footer{flex-direction:column;padding-bottom:max(.5rem,env(safe-area-inset-bottom))}.footer-socials{flex-wrap:wrap;gap:1rem 1.25rem}}@media (max-width: 380px){.site-header{padding-left:max(.8rem,env(safe-area-inset-left));padding-right:max(.8rem,env(safe-area-inset-right))}.header-actions{gap:.35rem}.language-switcher{gap:.1rem;padding:.2rem}.language-switcher button{gap:.25rem;padding:.32rem .36rem}.section-pad,.hero-section{padding-inline:1rem}.hero-visual{inset-inline:1rem}.mobile-navigation{padding-inline:1rem}.mobile-navigation a{font-size:2.15rem}.availability{gap:.55rem;font-size:.61rem}}@media (orientation: landscape) and (max-height: 520px) and (max-width: 950px){.hero-section{min-height:420px;padding:72px 2rem 1.5rem}.hero-copy{justify-content:center;width:48%;min-height:330px;padding:.75rem 0}.hero-copy .eyebrow{margin-bottom:.75rem}.hero-copy h1{font-size:clamp(3rem,8vw,4.2rem)}.hero-introduction{grid-template-columns:1fr;margin-top:1rem;padding-top:.75rem}.hero-introduction p:not(.hero-role){display:none}.hero-actions{margin-top:1rem}.availability{display:none}.hero-visual{inset:82px 2rem auto auto;width:min(38vw,300px);height:auto;aspect-ratio:1}.hero-visual img{-o-object-fit:contain;object-fit:contain}.hero-block{top:.7rem;right:-.7rem;bottom:-.7rem;left:.7rem}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}[data-reveal]{opacity:1;transform:none}.tools-row>div span:hover{transform:none}}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-foreground::file-selector-button{color:hsl(var(--foreground))}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);top:-.5rem;right:-.5rem;bottom:-.5rem;left:-.5rem}.after\:inset-y-0:after{content:var(--tw-content);top:0;bottom:0}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-1:after{content:var(--tw-content);width:.25rem}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.after\:-translate-x-1\/2:after{content:var(--tw-content);--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.first\:rounded-l-md:first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.first\:border-l:first-child{border-left-width:1px}.last\:rounded-r-md:last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.focus-within\:relative:focus-within{position:relative}.focus-within\:z-20:focus-within{z-index:20}.hover\:scale-105:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive) / .8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-muted-foreground:hover{background-color:hsl(var(--muted-foreground))}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted) / .5)}.hover\:bg-primary:hover{background-color:hsl(var(--primary))}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary) / .8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-secondary:hover{background-color:hsl(var(--secondary))}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:bg-sidebar-accent:hover{background-color:hsl(var(--sidebar-accent))}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-blue-700:hover{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-muted-foreground:hover{color:hsl(var(--muted-foreground))}.hover\:text-primary-foreground:hover{color:hsl(var(--primary-foreground))}.hover\:text-sidebar-accent-foreground:hover{color:hsl(var(--sidebar-accent-foreground))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover{--tw-shadow: 0 0 0 1px hsl(var(--sidebar-accent));--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:after\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:hsl(var(--sidebar-border))}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:bg-primary:focus{background-color:hsl(var(--primary))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:text-primary-foreground:focus{color:hsl(var(--primary-foreground))}.focus\:opacity-100:focus{opacity:1}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color: hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.focus-visible\:ring-sidebar-ring:focus-visible{--tw-ring-color: hsl(var(--sidebar-ring))}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width: 1px}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color: hsl(var(--background))}.active\:bg-sidebar-accent:active{background-color:hsl(var(--sidebar-accent))}.active\:text-sidebar-accent-foreground:active{color:hsl(var(--sidebar-accent-foreground))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group\/menu-item:focus-within .group-focus-within\/menu-item\:opacity-100{opacity:1}.group:hover .group-hover\:scale-105{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-x-100{--tw-scale-x: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:bg-muted-foreground{background-color:hsl(var(--muted-foreground))}.group:hover .group-hover\:text-muted-foreground{color:hsl(var(--muted-foreground))}.group:hover .group-hover\:underline{text-decoration-line:underline}.group\/menu-item:hover .group-hover\/menu-item\:opacity-100,.group:hover .group-hover\:opacity-100{opacity:1}.group.destructive .group-\[\.destructive\]\:border-muted\/40{border-color:hsl(var(--muted) / .4)}.group.toaster .group-\[\.toaster\]\:border-border{border-color:hsl(var(--border))}.group.toast .group-\[\.toast\]\:bg-muted{background-color:hsl(var(--muted))}.group.toast .group-\[\.toast\]\:bg-primary{background-color:hsl(var(--primary))}.group.toaster .group-\[\.toaster\]\:bg-background{background-color:hsl(var(--background))}.group.destructive .group-\[\.destructive\]\:text-red-300{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.group.toast .group-\[\.toast\]\:text-muted-foreground{color:hsl(var(--muted-foreground))}.group.toast .group-\[\.toast\]\:text-primary-foreground{color:hsl(var(--primary-foreground))}.group.toaster .group-\[\.toaster\]\:text-foreground{color:hsl(var(--foreground))}.group.toaster .group-\[\.toaster\]\:shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover{border-color:hsl(var(--destructive) / .3)}.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover{background-color:hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover{color:hsl(var(--destructive-foreground))}.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover{--tw-text-opacity: 1;color:rgb(254 242 242 / var(--tw-text-opacity, 1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus{--tw-ring-color: hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity, 1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus{--tw-ring-offset-color: #dc2626}.peer\/menu-button:hover~.peer-hover\/menu-button\:text-sidebar-accent-foreground{color:hsl(var(--sidebar-accent-foreground))}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.has-\[\[data-variant\=inset\]\]\:bg-sidebar:has([data-variant=inset]){background-color:hsl(var(--sidebar-background))}.has-\[\:disabled\]\:opacity-50:has(:disabled){opacity:.5}.group\/menu-item:has([data-sidebar=menu-action]) .group-has-\[\[data-sidebar\=menu-action\]\]\/menu-item\:pr-8{padding-right:2rem}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-selected\:bg-accent[aria-selected=true]{background-color:hsl(var(--accent))}.aria-selected\:bg-accent\/50[aria-selected=true]{background-color:hsl(var(--accent) / .5)}.aria-selected\:text-accent-foreground[aria-selected=true]{color:hsl(var(--accent-foreground))}.aria-selected\:text-muted-foreground[aria-selected=true]{color:hsl(var(--muted-foreground))}.aria-selected\:opacity-100[aria-selected=true]{opacity:1}.aria-selected\:opacity-30[aria-selected=true]{opacity:.3}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true],.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction=vertical]{height:1px}.data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction=vertical]{width:100%}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=checked\]\:translate-x-5[data-state=checked]{--tw-translate-x: 1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked],.data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel]{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{--tw-translate-x: var(--radix-toast-swipe-end-x);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{--tw-translate-x: var(--radix-toast-swipe-move-x);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:accordion-up .2s ease-out}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:accordion-down .2s ease-out}.data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction=vertical]{flex-direction:column}.data-\[active\=true\]\:bg-sidebar-accent[data-active=true]{background-color:hsl(var(--sidebar-accent))}.data-\[active\]\:bg-accent\/50[data-active]{background-color:hsl(var(--accent) / .5)}.data-\[selected\=\'true\'\]\:bg-accent[data-selected=true]{background-color:hsl(var(--accent))}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:hsl(var(--background))}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:hsl(var(--primary))}.data-\[state\=on\]\:bg-accent[data-state=on],.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=open\]\:bg-accent\/50[data-state=open]{background-color:hsl(var(--accent) / .5)}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:hsl(var(--secondary))}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:hsl(var(--muted))}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:hsl(var(--input))}.data-\[active\=true\]\:font-medium[data-active=true]{font-weight:500}.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active=true]{color:hsl(var(--sidebar-accent-foreground))}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:hsl(var(--accent-foreground))}.data-\[state\=active\]\:text-foreground[data-state=active]{color:hsl(var(--foreground))}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:hsl(var(--primary-foreground))}.data-\[state\=on\]\:text-accent-foreground[data-state=on],.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:hsl(var(--accent-foreground))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\[disabled\=true\]\:opacity-50[data-disabled=true],.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=active\]\:shadow-sm[data-state=active]{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.data-\[swipe\=move\]\:transition-none[data-swipe=move]{transition-property:none}.data-\[state\=closed\]\:duration-300[data-state=closed]{transition-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{transition-duration:.5s}.data-\[motion\^\=from-\]\:animate-in[data-motion^=from-],.data-\[state\=open\]\:animate-in[data-state=open],.data-\[state\=visible\]\:animate-in[data-state=visible]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.data-\[motion\^\=to-\]\:animate-out[data-motion^=to-],.data-\[state\=closed\]\:animate-out[data-state=closed],.data-\[state\=hidden\]\:animate-out[data-state=hidden],.data-\[swipe\=end\]\:animate-out[data-swipe=end]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.data-\[motion\^\=from-\]\:fade-in[data-motion^=from-]{--tw-enter-opacity: 0}.data-\[motion\^\=to-\]\:fade-out[data-motion^=to-],.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity: 0}.data-\[state\=closed\]\:fade-out-80[data-state=closed]{--tw-exit-opacity: .8}.data-\[state\=hidden\]\:fade-out[data-state=hidden]{--tw-exit-opacity: 0}.data-\[state\=open\]\:fade-in-0[data-state=open],.data-\[state\=visible\]\:fade-in[data-state=visible]{--tw-enter-opacity: 0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale: .95}.data-\[state\=open\]\:zoom-in-90[data-state=open]{--tw-enter-scale: .9}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale: .95}.data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion=from-end]{--tw-enter-translate-x: 13rem}.data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion=from-start]{--tw-enter-translate-x: -13rem}.data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion=to-end]{--tw-exit-translate-x: 13rem}.data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion=to-start]{--tw-exit-translate-x: -13rem}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y: -.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x: .5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x: -.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y: .5rem}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y: 100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x: -100%}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x: -50%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed],.data-\[state\=closed\]\:slide-out-to-right-full[data-state=closed]{--tw-exit-translate-x: 100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y: -100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y: -48%}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y: 100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x: -100%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x: -50%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x: 100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y: -100%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y: -48%}.data-\[state\=open\]\:slide-in-from-top-full[data-state=open]{--tw-enter-translate-y: -100%}.data-\[state\=closed\]\:duration-300[data-state=closed]{animation-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{animation-duration:.5s}.data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);left:0}.data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction=vertical]:after{content:var(--tw-content);height:.25rem}.data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction=vertical]:after{content:var(--tw-content);width:100%}.data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=open\]\:hover\:bg-sidebar-accent:hover[data-state=open]{background-color:hsl(var(--sidebar-accent))}.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground:hover[data-state=open]{color:hsl(var(--sidebar-accent-foreground))}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]{left:calc(var(--sidebar-width) * -1)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]{right:calc(var(--sidebar-width) * -1)}.group[data-side=left] .group-data-\[side\=left\]\:-right-4{right:-1rem}.group[data-side=right] .group-data-\[side\=right\]\:left-0{left:0}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:-mt-8{margin-top:-2rem}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:hidden{display:none}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!size-8{width:2rem!important;height:2rem!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[--sidebar-width-icon\]{width:var(--sidebar-width-icon)}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)\)\]{width:calc(var(--sidebar-width-icon) + 1rem)}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)_\+2px\)\]{width:calc(var(--sidebar-width-icon) + 1rem + 2px)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:w-0{width:0px}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group[data-side=right] .group-data-\[side\=right\]\:rotate-180,.group[data-state=open] .group-data-\[state\=open\]\:rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:overflow-hidden{overflow:hidden}.group[data-variant=floating] .group-data-\[variant\=floating\]\:rounded-lg{border-radius:var(--radius)}.group[data-variant=floating] .group-data-\[variant\=floating\]\:border{border-width:1px}.group[data-side=left] .group-data-\[side\=left\]\:border-r{border-right-width:1px}.group[data-side=right] .group-data-\[side\=right\]\:border-l{border-left-width:1px}.group[data-variant=floating] .group-data-\[variant\=floating\]\:border-sidebar-border{border-color:hsl(var(--sidebar-border))}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!p-0{padding:0!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!p-2{padding:.5rem!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:opacity-0{opacity:0}.group[data-variant=floating] .group-data-\[variant\=floating\]\:shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:after\:left-full:after{content:var(--tw-content);left:100%}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:hover\:bg-sidebar:hover{background-color:hsl(var(--sidebar-background))}.peer\/menu-button[data-size=default]~.peer-data-\[size\=default\]\/menu-button\:top-1\.5{top:.375rem}.peer\/menu-button[data-size=lg]~.peer-data-\[size\=lg\]\/menu-button\:top-2\.5{top:.625rem}.peer\/menu-button[data-size=sm]~.peer-data-\[size\=sm\]\/menu-button\:top-1{top:.25rem}.peer[data-variant=inset]~.peer-data-\[variant\=inset\]\:min-h-\[calc\(100svh-theme\(spacing\.4\)\)\]{min-height:calc(100svh - 1rem)}.peer\/menu-button[data-active=true]~.peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground{color:hsl(var(--sidebar-accent-foreground))}.dark\:-rotate-90:is(.dark *){--tw-rotate: -90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:rotate-0:is(.dark *){--tw-rotate: 0deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:scale-0:is(.dark *){--tw-scale-x: 0;--tw-scale-y: 0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:scale-100:is(.dark *){--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:border-destructive:is(.dark *){border-color:hsl(var(--destructive))}@media (min-width: 640px){.sm\:bottom-0{bottom:0}.sm\:right-0{right:0}.sm\:top-auto{top:auto}.sm\:mt-0{margin-top:0}.sm\:flex{display:flex}.sm\:max-w-sm{max-width:24rem}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2\.5{gap:.625rem}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:text-left{text-align:left}.data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state=open]{--tw-enter-translate-y: 100%}}@media (min-width: 768px){.md\:absolute{position:absolute}.md\:col-span-2{grid-column:span 2 / span 2}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:w-\[var\(--radix-navigation-menu-viewport-width\)\]{width:var(--radix-navigation-menu-viewport-width)}.md\:w-auto{width:auto}.md\:max-w-\[420px\]{max-width:420px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:justify-start{justify-content:flex-start}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-6xl{font-size:3.75rem;line-height:1}.md\:text-8xl{font-size:6rem;line-height:1}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:opacity-0{opacity:0}.after\:md\:hidden:after{content:var(--tw-content);display:none}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:m-2{margin:.5rem}.peer[data-state=collapsed][data-variant=inset]~.md\:peer-data-\[state\=collapsed\]\:peer-data-\[variant\=inset\]\:ml-2{margin-left:.5rem}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:ml-0{margin-left:0}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:rounded-xl{border-radius:.75rem}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}}@media (min-width: 1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:gap-16{gap:4rem}.lg\:gap-20{gap:5rem}.lg\:text-2xl{font-size:1.5rem;line-height:2rem}.lg\:text-3xl{font-size:1.875rem;line-height:2.25rem}.lg\:text-9xl{font-size:8rem;line-height:1}}.\[\&\:has\(\[aria-selected\]\)\]\:bg-accent:has([aria-selected]){background-color:hsl(var(--accent))}.first\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-l-md:has([aria-selected]):first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.last\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-r-md:has([aria-selected]):last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[aria-selected\]\.day-outside\)\]\:bg-accent\/50:has([aria-selected].day-outside){background-color:hsl(var(--accent) / .5)}.\[\&\:has\(\[aria-selected\]\.day-range-end\)\]\:rounded-r-md:has([aria-selected].day-range-end){border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>span\:last-child\]\:truncate>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.\[\&\>span\]\:line-clamp-1>span{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y: -3px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:left-4>svg{left:1rem}.\[\&\>svg\]\:top-4>svg{top:1rem}.\[\&\>svg\]\:size-3\.5>svg{width:.875rem;height:.875rem}.\[\&\>svg\]\:size-4>svg{width:1rem;height:1rem}.\[\&\>svg\]\:h-2\.5>svg{height:.625rem}.\[\&\>svg\]\:h-3>svg{height:.75rem}.\[\&\>svg\]\:w-2\.5>svg{width:.625rem}.\[\&\>svg\]\:w-3>svg{width:.75rem}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-destructive>svg{color:hsl(var(--destructive))}.\[\&\>svg\]\:text-foreground>svg{color:hsl(var(--foreground))}.\[\&\>svg\]\:text-muted-foreground>svg{color:hsl(var(--muted-foreground))}.\[\&\>svg\]\:text-sidebar-accent-foreground>svg{color:hsl(var(--sidebar-accent-foreground))}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:1.75rem}.\[\&\>tr\]\:last\:border-b-0:last-child>tr{border-bottom-width:0px}.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text{fill:hsl(var(--muted-foreground))}.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke="#ccc"]{stroke:hsl(var(--border) / .5)}.\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor{stroke:hsl(var(--border))}.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke="#fff"]{stroke:transparent}.\[\&_\.recharts-layer\]\:outline-none .recharts-layer{outline:2px solid transparent;outline-offset:2px}.\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke="#ccc"]{stroke:hsl(var(--border))}.\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector,.\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor{fill:hsl(var(--muted))}.\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke="#ccc"]{stroke:hsl(var(--border))}.\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke="#fff"]{stroke:transparent}.\[\&_\.recharts-sector\]\:outline-none .recharts-sector,.\[\&_\.recharts-surface\]\:outline-none .recharts-surface{outline:2px solid transparent;outline-offset:2px}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-top:.375rem;padding-bottom:.375rem}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:hsl(var(--muted-foreground))}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:1.25rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:1.25rem}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:3rem}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-top:.75rem;padding-bottom:.75rem}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:1.25rem}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:1.25rem}.\[\&_p\]\:leading-relaxed p{line-height:1.625}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0px}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:-.5rem}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=left] .\[\[data-side\=left\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:-.5rem}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-side=right] .\[\[data-side\=right\]_\&\]\:cursor-e-resize{cursor:e-resize}:root{--oj-ease-out: cubic-bezier(.16, 1, .3, 1);--oj-ease-soft: cubic-bezier(.22, 1, .36, 1);--oj-ease-in-out: cubic-bezier(.76, 0, .24, 1);--oj-motion-fast: .24s;--oj-motion-medium: .68s;--oj-motion-slow: 1.1s;--oj-grid-line: rgba(57, 35, 27, .075);--oj-grid-line-inverse: rgba(249, 246, 240, .085)}body.is-intro-active{overflow:hidden}.intro-sequence{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;overflow:hidden;background:var(--brown);color:var(--ivory);opacity:0;visibility:hidden;pointer-events:none;transition:clip-path .82s var(--oj-ease-in-out),opacity .24s ease .52s,visibility 0s linear .82s;clip-path:inset(0 0 100% 0)}.intro-sequence.is-active{opacity:1;visibility:visible;pointer-events:auto;clip-path:inset(0);transition:none}.intro-sequence.is-complete{opacity:1;visibility:visible;pointer-events:none;clip-path:inset(0 0 100% 0);transition:clip-path .82s var(--oj-ease-in-out),opacity .24s ease .52s,visibility 0s linear .82s}.intro-sequence__grid{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;background-image:linear-gradient(to right,var(--oj-grid-line-inverse) 1px,transparent 1px),linear-gradient(to bottom,var(--oj-grid-line-inverse) 1px,transparent 1px);background-size:calc(100% / 12) 100%,100% 25%}.intro-sequence__mark{position:relative;font-family:"OJ Serif",Georgia,serif;font-size:clamp(6rem,18vw,16rem);font-weight:400;letter-spacing:-.08em;line-height:.7;opacity:0;transform:translateY(28px) scale(.965)}.intro-sequence__mark:before{position:absolute;inset:50% auto auto -12vw;width:34vw;height:1px;content:"";background:var(--clay);transform:scaleX(0);transform-origin:right}.intro-sequence__wordmark,.intro-sequence__counter{position:absolute;inset-block-end:clamp(1.5rem,4vw,3.5rem);margin:0;font-size:.64rem;letter-spacing:.17em;text-transform:uppercase;opacity:0}.intro-sequence__wordmark{inset-inline-start:clamp(1.35rem,5vw,5rem)}.intro-sequence__counter{inset-inline-end:clamp(1.35rem,5vw,5rem);color:#f9f6f09e}.intro-sequence__line{position:absolute;inset:auto clamp(1.35rem,5vw,5rem) clamp(4.2rem,8vw,6.5rem);height:1px;background:#f9f6f03d;transform:scaleX(0);transform-origin:left}.intro-sequence.is-active .intro-sequence__grid{animation:oj-intro-grid .9s ease 80ms both}.intro-sequence.is-active .intro-sequence__mark{animation:oj-intro-mark .9s var(--oj-ease-out) .14s both}.intro-sequence.is-active .intro-sequence__mark:before{animation:oj-intro-rule .72s var(--oj-ease-out) .52s both}.intro-sequence.is-active .intro-sequence__line{animation:oj-intro-rule .82s var(--oj-ease-out) .42s both}.intro-sequence.is-active .intro-sequence__wordmark,.intro-sequence.is-active .intro-sequence__counter{animation:oj-intro-meta .62s var(--oj-ease-out) .7s both}@keyframes oj-intro-grid{to{opacity:1}}@keyframes oj-intro-mark{to{opacity:1;transform:none}}@keyframes oj-intro-rule{to{transform:scaleX(1)}}@keyframes oj-intro-meta{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.scroll-progress{position:fixed;inset:75px 0 auto;z-index:120;height:2px;overflow:hidden;pointer-events:none;background:#39231b0e}.scroll-progress__bar{width:100%;height:100%;background:var(--clay);transform:scaleX(var(--scroll-progress, 0));transform-origin:left;transition:transform 90ms linear;will-change:transform}[dir=rtl] .scroll-progress__bar{transform-origin:right}.desktop-navigation a.is-current,.desktop-navigation a[aria-current=location],.desktop-navigation a[aria-current=page]{color:var(--brown)}.desktop-navigation a.is-current:after,.desktop-navigation a[aria-current=location]:after,.desktop-navigation a[aria-current=page]:after{transform:scaleX(1);transform-origin:left}.desktop-navigation a.is-current:before,.desktop-navigation a[aria-current=location]:before,.desktop-navigation a[aria-current=page]:before{position:absolute;inset:50% auto auto -.72rem;width:3px;height:3px;border-radius:50%;content:"";background:var(--clay);transform:translateY(-50%)}.mobile-navigation a.is-current,.mobile-navigation a[aria-current=location],.mobile-navigation a[aria-current=page]{color:var(--clay)}[data-reveal=fade],[data-reveal=up],[data-reveal=left],[data-reveal=right],[data-reveal=scale],[data-reveal=clip],[data-reveal=line],[data-reveal=stagger]{opacity:0;transition-delay:var(--reveal-delay, 0ms)}[data-reveal=fade]{transform:none;transition:opacity .76s ease}[data-reveal=up]{transform:translate3d(0,20px,0);transition:opacity .82s ease,transform .92s var(--oj-ease-out)}[data-reveal=left]{transform:translate3d(-28px,0,0);transition:opacity .82s ease,transform .98s var(--oj-ease-out)}[dir=rtl] [data-reveal=left]{transform:translate3d(28px,0,0)}[data-reveal=right]{transform:translate3d(28px,0,0);transition:opacity .82s ease,transform .98s var(--oj-ease-out)}[dir=rtl] [data-reveal=right]{transform:translate3d(-28px,0,0)}[data-reveal=scale]{transform:scale(.975);transform-origin:center;transition:opacity .9s ease,transform 1.1s var(--oj-ease-out)}[data-reveal=clip]{opacity:1;clip-path:inset(0 0 100% 0);transition:clip-path 1.05s var(--oj-ease-in-out)}[data-reveal=line]{opacity:1;transform:scaleX(0);transform-origin:left;transition:transform .9s var(--oj-ease-out)}[data-reveal=fade],[data-reveal=up],[data-reveal=left],[data-reveal=right],[data-reveal=scale],[data-reveal=clip],[data-reveal=line]{transition-delay:var(--reveal-delay, 0ms)}[dir=rtl] [data-reveal=line]{transform-origin:right}[data-reveal=fade].is-visible,[data-reveal=up].is-visible,[data-reveal=left].is-visible,[data-reveal=right].is-visible,[data-reveal=scale].is-visible,[data-reveal=stagger].is-visible{opacity:1;transform:none}[data-reveal=clip].is-visible{clip-path:inset(0)}[data-reveal=line].is-visible{transform:scaleX(1)}[data-reveal=stagger] .reveal-child{opacity:0;transform:translateY(16px);transition:opacity .65s ease,transform .78s var(--oj-ease-out);transition-delay:calc(var(--reveal-index, 0) * 75ms + var(--reveal-delay, 0ms))}[data-reveal=stagger].is-visible .reveal-child{opacity:1;transform:none}.reveal-media{clip-path:inset(0 0 100% 0);transition:clip-path 1.05s var(--oj-ease-in-out)}.reveal-media.is-visible,.is-visible .reveal-media{clip-path:inset(0)}.reveal-rule{transform:scaleX(0);transform-origin:left;transition:transform .9s var(--oj-ease-out)}.reveal-rule.is-visible,.is-visible .reveal-rule{transform:scaleX(1)}[dir=rtl] .reveal-rule{transform-origin:right}.oj-grid{position:relative;isolation:isolate}.oj-grid:before{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;content:"";pointer-events:none;background-image:linear-gradient(to right,var(--oj-grid-line) 1px,transparent 1px),linear-gradient(to bottom,var(--oj-grid-line) 1px,transparent 1px);background-size:calc(100% / 12) 100%,100% 25%;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 16%,#000 84%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 16%,#000 84%,transparent)}.oj-grid--inverse:before{background-image:linear-gradient(to right,var(--oj-grid-line-inverse) 1px,transparent 1px),linear-gradient(to bottom,var(--oj-grid-line-inverse) 1px,transparent 1px)}.oj-corner-frame{position:relative}.oj-corner-frame:before,.oj-corner-frame:after{position:absolute;z-index:3;width:clamp(42px,7vw,104px);height:clamp(42px,7vw,104px);content:"";pointer-events:none;opacity:.7;transition:width .7s var(--oj-ease-out),height .7s var(--oj-ease-out)}.oj-corner-frame:before{inset:-1px auto auto -1px;border-block-start:1px solid var(--clay);border-inline-start:1px solid var(--clay)}.oj-corner-frame:after{inset:auto -1px -1px auto;border-block-end:1px solid var(--clay);border-inline-end:1px solid var(--clay)}.oj-orbit{position:relative;display:grid;place-items:center;width:clamp(74px,8vw,122px);aspect-ratio:1;border:1px solid var(--line);border-radius:50%;color:var(--brown-soft);font-family:"OJ Serif",Georgia,serif;font-size:clamp(1.2rem,2vw,2rem)}.oj-orbit:before{position:absolute;top:-9%;right:-9%;bottom:-9%;left:-9%;border:1px solid transparent;border-block-start-color:var(--clay);border-radius:inherit;content:"";transform:rotate(-32deg)}.oj-orbit:after{position:absolute;inset:50% -18% auto;height:1px;content:"";background:var(--line)}.oj-section-rail{position:relative;display:inline-flex;align-items:center;gap:.9rem;color:var(--brown-soft);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase}.oj-section-rail:after{width:clamp(40px,7vw,110px);height:1px;content:"";background:currentColor;opacity:.42}.project-card .project-image-wrap,.project-media{isolation:isolate}.project-card .project-image-wrap:after,.project-media:after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;content:"";background:var(--paper);transform:scaleY(1);transform-origin:bottom;pointer-events:none}.project-card.is-visible .project-image-wrap:after,.project-media.is-visible:after,.is-visible .project-media:after{transform:scaleY(0);transform-origin:top;transition:transform .96s var(--oj-ease-in-out) var(--reveal-delay, 80ms)}.project-card .project-image-wrap img,.project-media img{transform:scale(1.025);transition:transform 1.05s var(--oj-ease-out),filter .6s ease,opacity .45s ease}.project-card.is-visible .project-image-wrap img,.project-media.is-visible img,.is-visible .project-media img{transform:scale(1)}.project-image-wrap:before,.project-media:before{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;content:"";pointer-events:none;opacity:0;background:linear-gradient(115deg,transparent 56%,rgba(57,35,27,.13)),linear-gradient(to top,rgba(33,25,21,.18),transparent 30%);transition:opacity .5s ease}.project-media__label{position:absolute;inset:auto 1rem 1rem auto;z-index:3;display:inline-flex;align-items:center;gap:.55rem;padding:.52rem .72rem;border:1px solid rgba(255,253,249,.32);background:#21191585;color:var(--white);font-size:.6rem;letter-spacing:.13em;text-transform:uppercase;opacity:0;transform:translateY(8px);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:opacity .36s ease,transform .52s var(--oj-ease-out)}.project-card .project-details h3{transition:color .32s ease,transform .52s var(--oj-ease-out)}@media (hover: hover) and (pointer: fine){.project-card:hover .project-image-wrap:before,.project-media:hover:before{opacity:1}.project-card:hover .project-image-wrap img,.project-media:hover img{transform:scale(1.028)}.project-card:hover .project-details h3{color:var(--brown-soft);transform:translate(4px)}[dir=rtl] .project-card:hover .project-details h3{transform:translate(-4px)}.project-card:hover .project-media__label,.project-media:hover .project-media__label{opacity:1;transform:none}}.premium-link,.cv-link,.footer-socials a{position:relative;width:-moz-fit-content;width:fit-content}.premium-link:after,.cv-link:after,.footer-socials a:after{position:absolute;inset:auto 0 -.32rem;height:1px;content:"";background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .42s var(--oj-ease-out)}.premium-button{position:relative;display:inline-flex;align-items:center;justify-content:space-between;gap:1.6rem;min-height:48px;padding:.78rem 1rem;overflow:hidden;border:1px solid var(--brown);background:transparent;color:var(--brown);font-size:.67rem;letter-spacing:.12em;text-transform:uppercase;transition:color .33s ease,border-color .33s ease}.premium-button:before{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;content:"";background:var(--brown);transform:scaleX(0);transform-origin:right;transition:transform .52s var(--oj-ease-out)}.premium-button svg,.cv-link svg,.contact-action>a svg,.email-link svg{flex:0 0 auto;transition:transform .42s var(--oj-ease-out)}.email-link,.contact-action>a{position:relative;overflow:hidden;transition:color .32s ease,padding-inline .44s var(--oj-ease-out)}.email-link:before,.contact-action>a:before{position:absolute;inset:auto 0 0;height:2px;content:"";background:var(--clay);transform:scaleX(0);transform-origin:right;transition:transform .52s var(--oj-ease-out)}@media (hover: hover) and (pointer: fine){.premium-link:hover:after,.cv-link:hover:after,.footer-socials a:hover:after{transform:scaleX(1);transform-origin:left}.premium-button:hover{color:var(--ivory);border-color:var(--brown)}.premium-button:hover:before{transform:scaleX(1);transform-origin:left}.premium-button:hover svg,.cv-link:hover svg,.contact-action>a:hover svg,.email-link:hover svg{transform:translate(4px,-4px)}[dir=rtl] .premium-button:hover svg,[dir=rtl] .cv-link:hover svg,[dir=rtl] .contact-action>a:hover svg,[dir=rtl] .email-link:hover svg{transform:translate(-4px,-4px) scaleX(-1)}.email-link:hover:before,.contact-action>a:hover:before{transform:scaleX(1);transform-origin:left}}.premium-link:focus-visible,.premium-button:focus-visible,.email-link:focus-visible,.cv-link:focus-visible,.contact-action>a:focus-visible,.desktop-navigation a:focus-visible,.mobile-navigation a:focus-visible{outline:1px solid var(--clay);outline-offset:5px}.premium-cursor{position:fixed;inset:0 auto auto 0;z-index:1300;display:grid;place-items:center;width:12px;height:12px;border:1px solid rgba(249,246,240,.8);border-radius:50%;background:#39231bb8;color:var(--ivory);opacity:0;transform:translate3d(var(--cursor-x, -100px),var(--cursor-y, -100px),0) translate(-50%,-50%);pointer-events:none;mix-blend-mode:difference;transition:width .36s var(--oj-ease-out),height .36s var(--oj-ease-out),opacity .18s ease,background .26s ease}.premium-cursor.is-visible{opacity:1}.premium-cursor.is-project{width:74px;height:74px;background:#39231bdb;mix-blend-mode:normal}.premium-cursor.is-link{width:30px;height:30px}.premium-cursor__label{max-width:54px;overflow:hidden;font-size:.55rem;letter-spacing:.1em;line-height:1.15;text-align:center;text-transform:uppercase;opacity:0;transform:scale(.82);transition:opacity .22s ease,transform .32s var(--oj-ease-out)}.premium-cursor.is-project .premium-cursor__label{opacity:1;transform:none}.section-transition{position:relative;isolation:isolate}.section-transition:before{position:absolute;inset:0 clamp(1.35rem,5vw,5rem) auto;z-index:4;height:1px;content:"";background:var(--line);transform:scaleX(0);transform-origin:left;transition:transform 1.1s var(--oj-ease-out) .1s}.section-transition.is-section-visible:before,.section-transition.is-visible:before{transform:scaleX(1)}[dir=rtl] .section-transition:before{transform-origin:right}.section-transition--inverse:before{background:#f9f6f033}.section-transition__wash{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;content:"";background:var(--paper);transform:scaleY(1);transform-origin:bottom;pointer-events:none}.section-transition.is-section-visible .section-transition__wash,.section-transition.is-visible .section-transition__wash{transform:scaleY(0);transform-origin:top;transition:transform .9s var(--oj-ease-in-out)}.language-transition{opacity:1;transform:translateY(0);transition:opacity .22s ease,transform .32s var(--oj-ease-out)}.language-transition.is-changing{opacity:0;transform:translateY(6px)}@media (max-width: 760px){.scroll-progress{inset-block-start:67px}.intro-sequence__mark{font-size:clamp(5.5rem,30vw,9rem)}.intro-sequence__mark:before{inset-inline-start:-22vw;width:44vw}.intro-sequence__grid,.oj-grid:before{background-size:calc(100% / 6) 100%,100% 20%}.oj-corner-frame:before,.oj-corner-frame:after{width:48px;height:48px}.project-media__label{opacity:1;transform:none}.section-transition:before{inset-inline:1.25rem}}@media (hover: none),(pointer: coarse){.premium-cursor{display:none!important}.project-card .project-image-wrap img,.project-media img,.project-card:hover .project-image-wrap img,.project-media:hover img{transform:none}.project-media__label{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){body.is-intro-active{overflow:auto}.intro-sequence{display:none!important}.scroll-progress__bar,[data-reveal=fade],[data-reveal=up],[data-reveal=left],[data-reveal=right],[data-reveal=scale],[data-reveal=clip],[data-reveal=line],[data-reveal=stagger],[data-reveal=stagger] .reveal-child,.reveal-media,.reveal-rule,.project-card .project-image-wrap:after,.project-media:after,.section-transition:before,.section-transition__wash,.language-transition{opacity:1!important;clip-path:none!important;transform:none!important;transition:none!important;animation:none!important}.premium-cursor{display:none!important}.project-card .project-image-wrap:after,.project-media:after,.section-transition__wash{display:none!important}}@media (hover: hover) and (pointer: fine){html.has-custom-cursor,html.has-custom-cursor body,html.has-custom-cursor a,html.has-custom-cursor button,html.has-custom-cursor select,html.has-custom-cursor input,html.has-custom-cursor textarea,html.has-custom-cursor summary,html.has-custom-cursor [tabindex],html.has-custom-cursor [role=button]{cursor:none!important}}.oj-custom-cursor{--oj-cursor-x: -100px;--oj-cursor-y: -100px;--oj-cursor-label-x: 0px;--oj-cursor-label-y: 32px;position:fixed;inset:0 auto auto 0;z-index:9999;width:0;height:0;pointer-events:none;opacity:0;transform:translate3d(var(--oj-cursor-x),var(--oj-cursor-y),0);transition:opacity .16s ease;will-change:transform}.oj-custom-cursor.has-position.is-visible{opacity:1}.oj-custom-cursor__ring,.oj-custom-cursor__dot,.oj-custom-cursor__label{position:absolute;inset:0 auto auto 0;pointer-events:none}.oj-custom-cursor__ring{width:34px;height:34px;border:1px solid rgba(57,35,27,.55);border-radius:50%;transform:translate(-50%,-50%);transition:width .22s cubic-bezier(.16,1,.3,1),height .22s cubic-bezier(.16,1,.3,1),background .22s ease,border-color .22s ease}.oj-custom-cursor__dot{width:5px;height:5px;border-radius:50%;background:var(--brown, #39231b);transform:translate(-50%,-50%);transition:transform .15s ease,opacity .15s ease}.oj-custom-cursor__label{left:var(--oj-cursor-label-x);top:var(--oj-cursor-label-y);max-width:13rem;padding:.4rem .58rem;border-radius:100px;background:var(--brown, #39231b);color:var(--ivory, #f9f6f0);font-family:OJ Sans,Segoe UI,Arial,sans-serif;font-size:.61rem;font-weight:600;line-height:1;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;opacity:0;transform:translate(-50%,5px);transform-origin:center;transition:opacity .17s ease,transform .22s cubic-bezier(.16,1,.3,1)}.oj-custom-cursor.is-interactive .oj-custom-cursor__ring{width:48px;height:48px;border-color:#39231b38;background:transparent}.oj-custom-cursor.is-interactive .oj-custom-cursor__dot{opacity:0}.oj-custom-cursor[data-label-side=above] .oj-custom-cursor__label{transform:translate(-50%,calc(-100% - 5px))}.oj-custom-cursor.is-interactive .oj-custom-cursor__label{opacity:1;transform:translate(-50%)}.oj-custom-cursor.is-interactive[data-label-side=above] .oj-custom-cursor__label{transform:translate(-50%,-100%)}.oj-custom-cursor.is-pressed .oj-custom-cursor__ring{width:25px;height:25px}.oj-custom-cursor.is-pressed .oj-custom-cursor__label{scale:.96}.oj-custom-cursor.is-inverse .oj-custom-cursor__ring{border-color:#f9f6f0e0;box-shadow:0 0 0 1px #39231b2e}.oj-custom-cursor.is-inverse .oj-custom-cursor__dot{background:var(--ivory, #f9f6f0)}.oj-custom-cursor.is-inverse .oj-custom-cursor__label{background:var(--ivory, #f9f6f0);color:var(--brown, #39231b);box-shadow:0 2px 12px #0000003d}.oj-custom-cursor[data-language=ar] .oj-custom-cursor__label{font-family:Tahoma,Segoe UI,Arial,sans-serif;font-size:.7rem;letter-spacing:0;text-transform:none}.oj-custom-cursor__click-point{position:fixed;z-index:9998;width:12px;height:12px;border:1px solid var(--clay, #a57762);border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);animation:oj-click-point .6s cubic-bezier(.16,1,.3,1) both}@keyframes oj-click-point{0%{opacity:.9;transform:translate(-50%,-50%) scale(.45)}to{opacity:0;transform:translate(-50%,-50%) scale(3.1)}}.language-transition,[data-language-transition]{transition:opacity .18s ease,transform .26s cubic-bezier(.16,1,.3,1)}.language-transition--fast{transition-duration:.13s}.language-transition--slow{transition-duration:.36s}html.is-language-changing .language-transition,html.is-language-changing [data-language-transition],html.is-language-changing .portfolio-shell main{opacity:.72;transform:translateY(3px)}html[lang^=ar] body,html[lang^=ar] .font-arabic{font-family:Tahoma,Segoe UI,Arial,sans-serif;font-kerning:normal}html[lang^=ar] .hero-copy h1,html[lang^=ar] .statement-copy,html[lang^=ar] .section-heading h2,html[lang^=ar] .about-content h2,html[lang^=ar] .about-content .about-lead,html[lang^=ar] .project-details h3,html[lang^=ar] .services-grid h3,html[lang^=ar] .contact-section h2,html[lang^=ar] .contact-action>a,html[lang^=ar] .mobile-navigation a{font-family:Tahoma,Segoe UI,Arial,sans-serif;font-style:normal;font-weight:500;letter-spacing:0;text-wrap:balance}html[lang^=ar] .hero-copy h1{width:min(12ch,100%);line-height:1.04}html[lang^=ar] .statement-copy{line-height:1.18}html[lang^=ar] .section-heading h2,html[lang^=ar] .about-content h2,html[lang^=ar] .contact-section h2{line-height:1.12}html[lang^=ar] .project-details h3,html[lang^=ar] .services-grid h3{line-height:1.2}html[lang^=ar] .about-content .about-lead{line-height:1.55}html[lang^=ar] .desktop-navigation a,html[lang^=ar] .eyebrow,html[lang^=ar] .section-index,html[lang^=ar] .availability,html[lang^=ar] .project-type,html[lang^=ar] .project-meta,html[lang^=ar] .about-facts span,html[lang^=ar] .tools-row>span,html[lang^=ar] footer{letter-spacing:0;line-height:1.7;text-transform:none}html[lang^=ar] .about-content>p:not(.section-index),html[lang^=ar] .project-description,html[lang^=ar] .services-grid p,html[lang^=ar] .contact-grid>div:first-child>p{line-height:2}html[dir=rtl] .hero-copy,html[dir=rtl] .hero-introduction,html[dir=rtl] .section-heading,html[dir=rtl] .statement-copy,html[dir=rtl] .project-details,html[dir=rtl] .about-content,html[dir=rtl] .services-grid,html[dir=rtl] .tools-row,html[dir=rtl] .contact-grid,html[dir=rtl] footer{text-align:start}html[dir=rtl] .contact-action>a{flex-direction:row}html[dir=rtl] .contact-action>a svg{margin-inline-start:auto}html[dir=rtl] .project-meta{align-items:flex-start}html[dir=rtl] .about-portrait:before{inset-inline:10% -1.5rem}@media (max-width: 760px){.language-switcher{gap:.16rem;padding:.2rem}.language-switcher button{min-width:42px;min-height:34px;justify-content:center;padding:.32rem .42rem}.language-switcher .flag{width:17px;height:12px}html[lang^=ar] .hero-copy h1{font-size:clamp(3.5rem,16vw,5.8rem);line-height:1.08}html[lang^=ar] .statement-copy{font-size:clamp(2.35rem,10.5vw,4rem)}html[lang^=ar] .mobile-navigation a{font-size:2.05rem;line-height:1.25}}@media (max-width: 430px){.language-switcher button{min-width:38px;gap:.25rem;padding-inline:.34rem}.language-switcher button>span:last-child{font-size:.58rem}.header-actions{gap:.45rem}}@media (prefers-reduced-motion: reduce){.language-transition,[data-language-transition],html.is-language-changing .portfolio-shell main{transition:none;transform:none}.oj-custom-cursor__click-point{animation:none;opacity:0}}@media (hover: none),(pointer: coarse){.oj-custom-cursor,.oj-custom-cursor__click-point{display:none!important}}.blog-section{position:relative;overflow:hidden;background:var(--paper);color:var(--ink)}.blog-section:after{position:absolute;inset:0 0 auto;height:1px;content:"";background:var(--line);pointer-events:none}.blog-section__heading.section-heading{align-items:end}.blog-section__heading h2{max-width:11ch}.blog-section__heading>p{padding-block-end:.35rem}.blog-section__entries{max-width:1500px;margin-inline:auto;border-block-start:1px solid var(--line)}.blog-entry{--blog-thumbnail-size: clamp(9rem, 16vw, 14rem);position:relative;display:grid;grid-template-columns:clamp(2.5rem,5vw,4.5rem) var(--blog-thumbnail-size) minmax(0,1fr) minmax(7.5rem,.22fr);gap:clamp(1rem,2.5vw,2.5rem);align-items:center;min-height:calc(var(--blog-thumbnail-size) + clamp(2rem,3.5vw,3.5rem));padding-block:clamp(1rem,1.75vw,1.75rem);border-block-end:1px solid var(--line);transition:background-color .35s ease;transition-delay:var(--blog-entry-delay, 0ms)}.blog-entry__open{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;width:100%;border:0;background:transparent;cursor:pointer}.blog-entry__open:focus-visible{outline:2px solid var(--brown);outline-offset:-4px}.blog-entry__number{align-self:start;padding-block-start:.2rem;color:var(--brown-soft);font-size:.62rem;font-weight:600;letter-spacing:.14em}.blog-entry__media{position:relative;width:100%;aspect-ratio:4 / 3;overflow:hidden;background:var(--ivory)}.blog-entry__media img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transform:scale(1.001);transition:transform .65s cubic-bezier(.16,1,.3,1)}.blog-entry__visual-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;justify-content:space-between;align-items:flex-end;padding:.75rem;background:linear-gradient(135deg,transparent 49.7%,var(--line) 50%,transparent 50.3%),linear-gradient(90deg,rgba(23,23,21,.035) 1px,transparent 1px),var(--ivory);background-size:auto,25% 100%,auto;color:var(--brown-soft)}.blog-entry__visual-placeholder span{max-width:8ch;font-size:.55rem;font-weight:600;letter-spacing:.12em;line-height:1.35;text-transform:uppercase}.blog-entry__visual-placeholder bdi{font-family:"OJ Serif",Georgia,serif;font-size:clamp(2.2rem,4vw,4rem);line-height:.75}.blog-entry__copy{max-width:48rem}.blog-entry__meta{display:flex;flex-wrap:wrap;gap:.35rem .65rem;margin-block-end:clamp(.75rem,1.4vw,1.25rem);color:var(--brown-soft);font-size:.61rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.blog-entry__copy h3{margin:0;font-family:"OJ Serif",Georgia,serif;font-size:clamp(1.7rem,3vw,3.25rem);font-weight:400;letter-spacing:-.035em;line-height:.98;transition:color .26s ease,transform .35s cubic-bezier(.16,1,.3,1)}.blog-entry__copy h3 a{background-image:linear-gradient(currentColor,currentColor);background-position:100% 100%;background-repeat:no-repeat;background-size:0 1px;transition:background-size .4s cubic-bezier(.16,1,.3,1)}.blog-entry__copy>p{max-width:48rem;margin:1rem 0 0;color:var(--muted-ink)}.blog-entry__link{display:inline-flex;justify-self:end;align-items:center;gap:.65rem;padding-block:.45rem;border-block-end:1px solid currentColor;font-size:.65rem;font-weight:600;letter-spacing:.11em;text-transform:uppercase}.blog-entry__link svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-linecap:square;stroke-width:1.5;transition:transform .25s ease}.blog-entry__draft-mark{justify-self:end;width:clamp(2.5rem,5vw,4rem);height:1px;background:var(--clay)}@media (hover: hover) and (pointer: fine){.blog-entry:hover{background:#fffefb73}.blog-entry:hover .blog-entry__copy h3{color:var(--brown-soft);transform:translate(4px)}.blog-entry:hover .blog-entry__media img{transform:scale(1.035)}.blog-entry__copy h3 a:hover,.blog-entry:has(.blog-entry__link:hover) .blog-entry__copy h3 a{background-position:0 100%;background-size:100% 1px}.blog-entry:hover .blog-entry__link svg{transform:translate(3px,-3px)}}[dir=rtl] .blog-entry__copy h3 a{background-position:0 100%}[dir=rtl] .blog-entry__link svg{transform:scaleX(-1)}@media (hover: hover) and (pointer: fine){[dir=rtl] .blog-entry:hover .blog-entry__copy h3{transform:translate(-4px)}}.blog-reader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20000;display:grid;place-items:center;padding:clamp(.75rem,2vw,2rem);background:#171715c2;animation:blog-reader-backdrop .26s ease both}.blog-reader__panel{width:min(1160px,100%);max-height:calc(100svh - clamp(1.5rem,4vw,4rem));overflow:auto;overscroll-behavior:contain;background:var(--ivory);color:var(--ink);box-shadow:0 24px 90px #00000047;animation:blog-reader-panel .52s cubic-bezier(.16,1,.3,1) both}.blog-reader__header{position:sticky;inset-block-start:0;z-index:5;display:flex;justify-content:space-between;align-items:center;min-height:68px;padding-inline:clamp(1rem,3vw,2.5rem);border-block-end:1px solid var(--line);background:#f7f6f2f0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.blog-reader__header .blog-entry__meta{margin:0}.blog-reader__close{position:relative;flex:0 0 auto;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:transparent;cursor:pointer;transition:transform .24s cubic-bezier(.16,1,.3,1),background .2s ease}.blog-reader__close:before,.blog-reader__close:after{position:absolute;inset:50% auto auto 50%;width:14px;height:1px;content:"";background:currentColor}.blog-reader__close:before{transform:translate(-50%,-50%) rotate(45deg)}.blog-reader__close:after{transform:translate(-50%,-50%) rotate(-45deg)}.blog-reader__media{margin:clamp(1rem,3vw,2.5rem) clamp(1rem,3vw,2.5rem) 0;aspect-ratio:16 / 6;overflow:hidden;background:var(--paper)}.blog-reader__media>img,.blog-reader__media>div{width:100%;height:100%}.blog-reader__media>img{-o-object-fit:cover;object-fit:cover}.blog-reader__media>div{display:flex;justify-content:space-between;align-items:flex-end;padding:clamp(1rem,2vw,2rem);background:linear-gradient(145deg,transparent 49.8%,var(--line) 50%,transparent 50.2%),linear-gradient(90deg,rgba(23,23,21,.045) 1px,transparent 1px),var(--paper);background-size:auto,12.5% 100%,auto;color:var(--brown-soft)}.blog-reader__media>div span{max-width:16ch;font-size:.62rem;letter-spacing:.13em;text-transform:uppercase}.blog-reader__media>div bdi{font-family:"OJ Serif",Georgia,serif;font-size:clamp(3rem,8vw,8rem);line-height:.7}.blog-reader__layout{display:grid;grid-template-columns:minmax(10rem,.28fr) minmax(0,1fr);gap:clamp(2rem,6vw,6rem);padding:clamp(2rem,5vw,5rem) clamp(1rem,5vw,5rem) clamp(3rem,7vw,7rem)}.blog-reader__byline{align-self:start;padding-block-start:.45rem;border-block-start:1px solid var(--line)}.blog-reader__byline>span{display:block;margin-block:.8rem 1.5rem;color:var(--brown-soft);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase}.blog-reader__byline strong{display:block;font-family:"OJ Serif",Georgia,serif;font-size:1.5rem;font-weight:400}.blog-reader__byline p{margin:.35rem 0 0;color:var(--muted-ink);font-size:.75rem}.blog-reader__article-copy h2{max-width:13ch;margin:0 0 clamp(1.5rem,3vw,2.5rem);font-family:"OJ Serif",Georgia,serif;font-size:clamp(2.7rem,6vw,5.8rem);font-weight:400;letter-spacing:-.045em;line-height:.9}.blog-reader__article-copy>p{max-width:46rem;margin:0 0 1.25rem;color:var(--muted-ink);font-size:clamp(.95rem,1.3vw,1.08rem);line-height:1.8}.blog-reader__article-copy .blog-reader__lead{margin-block-end:2rem;color:var(--ink);font-family:"OJ Serif",Georgia,serif;font-size:clamp(1.25rem,2.2vw,1.85rem);line-height:1.35}@media (hover: hover) and (pointer: fine){.blog-reader__close:hover{background:var(--paper);transform:rotate(5deg) scale(1.05)}}@keyframes blog-reader-backdrop{0%{opacity:0}to{opacity:1}}@keyframes blog-reader-panel{0%{opacity:0;transform:translateY(24px) scale(.985)}to{opacity:1;transform:none}}@media (hover: hover) and (pointer: fine){[dir=rtl] .blog-entry__copy h3 a:hover,[dir=rtl] .blog-entry:has(.blog-entry__link:hover) .blog-entry__copy h3 a{background-position:100% 100%}[dir=rtl] .blog-entry__link:hover svg{transform:scaleX(-1) translate(3px,-3px)}}@media (max-width: 960px){.blog-entry{grid-template-columns:2.5rem minmax(8rem,11rem) minmax(0,1fr)}.blog-entry__link,.blog-entry__draft-mark{grid-column:3;justify-self:start}}@media (max-width: 680px){.blog-section__heading h2{max-width:13ch}.blog-entry{grid-template-columns:2rem minmax(0,1fr);gap:.8rem 1rem;padding-block:1.25rem 1.5rem}.blog-entry__number{grid-column:1;grid-row:1}.blog-entry__media{grid-column:2;grid-row:1;width:min(100%,14rem)}.blog-entry__copy{grid-column:2;grid-row:2}.blog-entry__copy h3{font-size:clamp(1.8rem,9vw,2.65rem)}.blog-entry__link,.blog-entry__draft-mark{grid-column:2;grid-row:3}.blog-reader{place-items:stretch;padding:0}.blog-reader__panel{width:100%;max-height:100svh;min-height:100svh;box-shadow:none}.blog-reader__header{min-height:64px}.blog-reader__media{margin:1rem 1rem 0;aspect-ratio:4 / 3}.blog-reader__layout{grid-template-columns:1fr;gap:2rem;padding:2.2rem 1.25rem 4rem}.blog-reader__byline{max-width:18rem}.blog-reader__article-copy h2{max-width:100%;font-size:clamp(2.35rem,13vw,3.65rem)}}html[lang^=ar] .blog-reader__article-copy h2,html[lang^=ar] .blog-reader__article-copy .blog-reader__lead,html[lang^=ar] .blog-reader__byline strong{font-family:Tahoma,Segoe UI,Arial,sans-serif;letter-spacing:0}html[lang^=ar] .blog-reader__article-copy h2{line-height:1.18}@media (prefers-reduced-motion: reduce){.blog-entry,.blog-entry__media img,.blog-entry__copy h3 a,.blog-entry__link svg{transition:none!important}.blog-entry__media img,.blog-entry:hover .blog-entry__media img{transform:none}.blog-reader,.blog-reader__panel{animation:none}}.portfolio-kicker{margin:0 0 .85rem;color:var(--muted-ink);font-size:.62rem;line-height:1.7;letter-spacing:.13em;text-transform:uppercase}.portfolio-text-link{display:inline-flex;align-items:center;gap:.65rem;width:-moz-fit-content;width:fit-content;min-height:44px;padding-block:.45rem;border-bottom:1px solid var(--line);font-size:.76rem;line-height:1.6;transition:border-color .18s ease}.portfolio-text-link:hover{border-color:currentColor}.portfolio-text-link svg{flex:0 0 auto}.portfolio-button{display:inline-flex;justify-content:center;align-items:center;gap:.75rem;min-height:52px;padding:.8rem 1.35rem;border:1px solid var(--ink);background:var(--ink);color:var(--ivory);font-size:.75rem;text-align:start}.portfolio-button small{display:block;opacity:.7;font-size:.61rem}.portfolio-button:hover{background:#3b3a35}.portfolio-showcase__intro p{margin:0 0 1.1rem;color:var(--muted-ink)}.portfolio-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4rem 2rem;max-width:1500px;margin:0 auto}.portfolio-project{min-width:0}.portfolio-project__visual{position:relative;display:flex;justify-content:center;align-items:center;padding:clamp(1rem,2vw,2rem);aspect-ratio:.86;background:#e9e7e2;border:1px solid rgba(23,23,21,.05)}.portfolio-project__visual img{width:100%;height:100%;min-height:0;-o-object-fit:contain;object-fit:contain;filter:none;box-shadow:0 9px 24px #1717151a}.portfolio-project__number{position:absolute;inset-block-start:.55rem;inset-inline-start:.7rem;color:var(--muted-ink);font-size:.58rem}.portfolio-project__open{position:absolute;inset-inline-end:0;inset-block-end:0;display:grid;place-items:center;width:44px;height:44px;background:var(--ink);color:var(--ivory);transition:background .18s ease}.portfolio-project__visual:hover .portfolio-project__open{background:#5c5a50}.portfolio-project__copy{padding-block-start:1.4rem}.portfolio-project__copy h3{margin:0;font-family:"OJ Serif",Georgia,serif;font-size:clamp(2rem,3vw,3.35rem);font-weight:400;line-height:1.06;letter-spacing:-.035em;overflow-wrap:anywhere}.portfolio-project__description{color:var(--muted-ink);font-size:.83rem;line-height:1.8;margin:.9rem 0}.portfolio-project__credits{margin:.8rem 0;padding-inline-start:.75rem;border-inline-start:2px solid #b7b2aa;color:var(--muted-ink);font-size:.68rem;line-height:1.75}.portfolio-project__copy .portfolio-text-link{margin-block-start:.35rem}.portfolio-download-strip{display:flex;align-items:center;justify-content:space-between;gap:2rem;max-width:1500px;margin:4rem auto 0;padding:2rem 0 0;border-block-start:1px solid var(--line)}.portfolio-download-strip p:not(.portfolio-kicker){margin:0;font-family:"OJ Serif",Georgia,serif;font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.3}.portfolio-download-strip p span{color:var(--muted-ink)}.portfolio-reader{min-height:100vh;background:var(--ivory)}.portfolio-reader :is(a,button,select):focus-visible,.portfolio-lightbox :is(a,button,select,[tabindex]):focus-visible,.portfolio-showcase :is(a,button):focus-visible{outline:2px solid #87623e;outline-offset:5px}.portfolio-skip{position:fixed;top:-100px;inset-inline-start:1rem;z-index:25000;padding:1rem;background:var(--ink);color:var(--white)}.portfolio-skip:focus{top:1rem}.portfolio-reader__header{position:sticky;top:0;z-index:100;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;min-height:82px;padding:0 clamp(1.15rem,4vw,4rem);border-block-end:1px solid var(--line);background:#f7f6f2f0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.portfolio-reader__header .language-switcher{justify-self:end}.portfolio-reader__header .language-switcher button{min-height:38px}.portfolio-reader__back{display:inline-flex;align-items:center;gap:.65rem;min-height:44px;font-size:.73rem}.portfolio-reader__hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,.34fr);gap:clamp(2rem,7vw,8rem);max-width:1600px;margin:auto;padding:clamp(3.5rem,7vw,7rem) clamp(1.15rem,5vw,5rem) clamp(3rem,5vw,5rem)}.portfolio-reader__hero h1{max-width:12ch;margin:0;font-family:"OJ Serif",Georgia,serif;font-size:clamp(3.7rem,7.8vw,8.25rem);font-weight:400;line-height:.94;letter-spacing:-.05em;text-wrap:balance}.portfolio-reader__hero-copy>p:not(.portfolio-kicker){max-width:34rem;margin:1.75rem 0 0;color:var(--muted-ink)}.portfolio-reader__stats{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.35rem;margin-block-start:2.15rem;color:var(--muted-ink);font-size:.66rem}.portfolio-reader__stats>span:not(:last-child){padding-inline-end:1.35rem;border-inline-end:1px solid var(--line)}.portfolio-reader__stats bdi{color:var(--ink);font-size:.95rem}.portfolio-reader__edition{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-inline-start:clamp(1.5rem,4vw,4rem);border-inline-start:1px solid var(--line)}.portfolio-reader__edition-mark{display:flex;flex-direction:column;font-family:"OJ Serif",Georgia,serif;font-size:clamp(5.5rem,10vw,9rem);line-height:.8;letter-spacing:-.09em;direction:ltr}.portfolio-reader__edition-mark>span{margin-block-start:1.25rem;font-family:OJ Sans,Arial,sans-serif;font-size:.6rem;letter-spacing:.35em}.portfolio-reader__edition>.portfolio-text-link{margin-block-start:3rem;flex-wrap:wrap}.portfolio-reader__edition>p{max-width:16rem;margin:.8rem 0 0;color:var(--muted-ink);font-size:.69rem}.portfolio-reader__body{display:grid;grid-template-columns:minmax(185px,.25fr) minmax(0,1fr);align-items:start;gap:clamp(2rem,4vw,4.5rem);max-width:1600px;margin:auto;padding:3.25rem clamp(1.15rem,5vw,5rem) 6rem;border-block-start:1px solid var(--line);scroll-margin-top:82px}.portfolio-reader__sidebar{position:sticky;top:115px}.portfolio-index-item{display:grid;grid-template-columns:1.3rem minmax(0,1fr) 14px;gap:.65rem;align-items:baseline;min-height:72px;padding:1.05rem .55rem;border-block-start:1px solid var(--line);font-size:.81rem;line-height:1.4;transition:background .18s ease}.portfolio-index-item:last-child{border-block-end:1px solid var(--line)}.portfolio-index-item.is-active{background:#e8e5df}.portfolio-index-item:hover{background:#eeece7}.portfolio-index-item__number{color:var(--muted-ink);font-size:.58rem}.portfolio-index-item small{display:block;margin-block-start:.45rem;color:var(--muted-ink);font-size:.62rem;line-height:1.5}.portfolio-reader__source-note{margin:1.3rem 0 0;color:var(--muted-ink);font-size:.66rem;line-height:1.8}.portfolio-reader__section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-block-end:2rem}.portfolio-reader__section-heading h2{margin:0;font-family:"OJ Serif",Georgia,serif;font-size:clamp(2.4rem,4.4vw,4.25rem);line-height:1.06;letter-spacing:-.035em;font-weight:400;overflow-wrap:anywhere}.portfolio-reader__section-heading p:not(.portfolio-kicker){max-width:38rem;margin:.9rem 0 0;color:var(--muted-ink);font-size:.85rem}.portfolio-reader__page-count{flex-shrink:0;padding-block-end:.25rem;color:var(--muted-ink);font-size:.67rem;white-space:nowrap}.portfolio-board-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 1.5rem}.portfolio-reader__view-row{display:flex;justify-content:flex-end;margin:-.35rem 0 1.5rem}.portfolio-view-switch{display:inline-flex;flex-wrap:wrap;gap:.15rem;padding:.2rem;border:1px solid var(--line)}.portfolio-view-switch button{min-height:38px;padding:.45rem .75rem;border:0;background:transparent;color:var(--muted-ink);font-size:.66rem;line-height:1.5}.portfolio-view-switch button[aria-pressed=true]{background:var(--ink);color:var(--ivory)}.portfolio-board--spread{grid-column:1 / -1}.portfolio-board{margin:0;min-width:0}.portfolio-board__button{position:relative;display:block;width:100%;padding:0;border:1px solid var(--line);background:#e5e3df;cursor:zoom-in}.portfolio-board__pages{display:flex;align-items:flex-start;width:100%;overflow:hidden}.portfolio-board__button img{width:100%;height:auto;-o-object-fit:contain;object-fit:contain;filter:none}.portfolio-board__expand{position:absolute;inset-inline-end:.65rem;inset-block-end:.65rem;display:grid;place-items:center;width:36px;height:36px;color:var(--white);background:var(--ink);border:1px solid rgba(255,255,255,.25);transition:background .18s ease}.portfolio-board__button:hover .portfolio-board__expand{background:#55534d}.portfolio-board figcaption{display:flex;justify-content:space-between;align-items:start;gap:.8rem;padding-block-start:.65rem;color:var(--muted-ink);font-size:.6rem}.portfolio-board figcaption>span:last-child{display:inline-flex;gap:.3rem;align-items:center}.portfolio-reader__footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:2rem;margin:0;padding:3.5rem clamp(1.15rem,5vw,5rem) 2rem;background:var(--paper);border-block-start:1px solid var(--line)}.portfolio-reader__footer h2{margin:0;font-family:"OJ Serif",Georgia,serif;font-size:clamp(2.2rem,4vw,4rem);font-weight:400;line-height:1.1;letter-spacing:-.035em}.portfolio-reader__footer-back{width:100%;padding-block-start:1.5rem;border-block-start:1px solid var(--line);color:var(--muted-ink);font-size:.7rem}.portfolio-lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20000;background:#0f0f0dc7}.portfolio-lightbox{position:fixed;top:1.25rem;right:1.25rem;bottom:1.25rem;left:1.25rem;z-index:20001;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;max-width:1600px;margin-inline:auto;padding:1rem 1.25rem .75rem;background:var(--ivory);color:var(--ink);box-shadow:0 20px 90px #0000004d}.portfolio-lightbox__header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.portfolio-lightbox__header .portfolio-kicker{margin:0;font-size:.55rem}.portfolio-lightbox__header h2{margin:.15rem 0 0;font-family:"OJ Serif",Georgia,serif;font-size:1.65rem;font-weight:400;line-height:1.1}.portfolio-lightbox__tools{display:flex;align-items:center;gap:.3rem}.portfolio-lightbox :is(button,a){cursor:pointer}.portfolio-lightbox button{border:0}.portfolio-lightbox__tools :is(button,a){display:inline-flex;justify-content:center;align-items:center;gap:.45rem;flex:0 0 auto;min-width:44px;min-height:44px;padding:.5rem;background:transparent;font-size:.65rem}.portfolio-lightbox__tools :is(button,a):hover{background:var(--paper)}.portfolio-lightbox__tools .portfolio-lightbox__close{margin-inline-start:.6rem;border-inline-start:1px solid var(--line)}.portfolio-lightbox button:disabled{opacity:.32;cursor:default}.portfolio-lightbox__reading-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.45rem 1rem;padding-block:.6rem}.portfolio-lightbox__description{margin:0;color:var(--muted-ink);font-size:.66rem}.portfolio-lightbox__viewport{position:relative;display:flex;container-type:size;min-width:0;min-height:0;overflow:auto;background:#deddd7;overscroll-behavior:contain;scrollbar-color:#8f8b80 #e5e3dc}.portfolio-lightbox__canvas{display:flex;flex:0 0 auto;width:calc(min(100cqw,calc(100cqh * var(--board-ratio))) * var(--board-zoom));aspect-ratio:var(--board-ratio);margin:auto}.portfolio-lightbox__canvas>img{display:block;flex:0 0 auto;height:100%;max-width:none;-o-object-fit:contain;object-fit:contain}.portfolio-lightbox__error{display:grid;justify-items:center;align-content:center;gap:1rem;min-height:100%;padding:1rem;text-align:center}.portfolio-lightbox__status{position:absolute;top:1rem;left:50%;z-index:1;transform:translate(-50%);width:-moz-max-content;width:max-content;max-width:90%;margin:0;padding:.5rem .9rem;background:var(--ivory);color:var(--muted-ink);font-size:.75rem}.portfolio-lightbox__footer{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:center;padding-block-start:.65rem}.portfolio-lightbox__footer>button{display:inline-flex;align-items:center;gap:.6rem;width:-moz-fit-content;width:fit-content;min-height:44px;padding:.5rem 0;background:transparent;font-size:.69rem}.portfolio-lightbox__footer>button:last-child{justify-self:end}.portfolio-lightbox__footer>div{display:flex;flex-direction:column;align-items:center;gap:.2rem}.portfolio-lightbox__footer select{max-width:100%;min-height:36px;padding:.35rem 1.7rem .35rem .55rem;border:1px solid var(--line);border-radius:0;background:var(--ivory);color:var(--ink);font:inherit;font-size:.7rem}.portfolio-lightbox__keyboard{color:var(--muted-ink);font-size:.57rem}html[lang^=ar] :is(.portfolio-kicker,.portfolio-text-link){letter-spacing:0;text-transform:none}html[lang^=ar] :is(.portfolio-project__copy h3,.portfolio-reader__hero h1,.portfolio-reader__section-heading h2,.portfolio-reader__footer h2,.portfolio-download-strip p:not(.portfolio-kicker),.portfolio-lightbox__header h2){font-family:Tahoma,Segoe UI,Arial,sans-serif;letter-spacing:0;line-height:1.3}html[lang^=ar] .portfolio-reader__hero h1{font-size:clamp(3rem,6vw,6rem)}html[lang^=ar] .portfolio-reader__section-heading h2{font-size:clamp(2.1rem,3.4vw,3.5rem)}html[dir=rtl] .portfolio-reader__back svg{transform:scaleX(-1)}@media (max-width: 1100px){.portfolio-project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem 1.5rem}.portfolio-reader__body{grid-template-columns:185px minmax(0,1fr);gap:1.75rem}.portfolio-reader__section-heading{align-items:flex-start;flex-direction:column;gap:.8rem}}@media (max-width: 800px){.portfolio-reader__hero{grid-template-columns:minmax(0,1fr);gap:2rem}.portfolio-reader__edition{display:block;padding:1.25rem 0 0;border-inline-start:0;border-block-start:1px solid var(--line)}.portfolio-reader__edition-mark{display:none}.portfolio-reader__edition>.portfolio-text-link{margin:0}.portfolio-reader__edition>p{max-width:34rem;margin-block-start:.45rem}.portfolio-reader__body{grid-template-columns:minmax(0,1fr);gap:2.5rem;padding-block-start:2rem}.portfolio-reader__sidebar{position:static}.portfolio-reader__sidebar nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem}.portfolio-reader__sidebar nav>p{grid-column:1 / -1}.portfolio-reader__source-note{margin-block-start:.85rem}.portfolio-reader__section-heading{flex-direction:row;align-items:flex-end}.portfolio-index-item{border-block-end:1px solid var(--line);margin-block-end:-1px}.portfolio-reader__hero h1{max-width:14ch}}@media (max-width: 600px){.portfolio-project-grid{grid-template-columns:minmax(0,1fr);gap:3rem}.portfolio-project__visual{aspect-ratio:.9;padding:1.4rem}.portfolio-project__copy h3{font-size:2.5rem}.portfolio-download-strip{flex-direction:column;align-items:flex-start;gap:1.3rem;margin-block-start:3rem}.portfolio-download-strip .portfolio-button{width:100%}.portfolio-reader__header{grid-template-columns:auto 1fr auto;gap:.65rem;min-height:72px}.portfolio-reader__back{font-size:.65rem;justify-self:start;gap:.35rem}.portfolio-reader__header .language-switcher button{min-width:36px;min-height:38px;padding-inline:.35rem}.portfolio-reader__header .language-switcher .flag{display:none}.portfolio-reader__hero{padding-block:3rem 2rem}.portfolio-reader__hero h1{font-size:clamp(3.3rem,13vw,5rem)}.portfolio-reader__hero-copy>p:not(.portfolio-kicker){font-size:.87rem}.portfolio-reader__stats{gap:.65rem 1rem}.portfolio-reader__stats>span:not(:last-child){padding-inline-end:1rem}.portfolio-reader__body{padding-block-end:3.5rem;scroll-margin-top:72px}.portfolio-index-item{grid-template-columns:1rem minmax(0,1fr);gap:.4rem;padding-inline:.35rem;font-size:.77rem}.portfolio-index-item>svg{display:none}.portfolio-index-item small{font-size:.58rem}.portfolio-reader__section-heading{flex-direction:column;align-items:flex-start}.portfolio-board-grid{grid-template-columns:minmax(0,1fr);gap:1.7rem}.portfolio-board figcaption{font-size:.65rem}.portfolio-lightbox{top:0;right:0;bottom:0;left:0;height:100dvh;padding:max(.6rem,env(safe-area-inset-top)) .65rem max(.5rem,env(safe-area-inset-bottom))}.portfolio-lightbox__header{gap:.25rem}.portfolio-lightbox__header .portfolio-kicker{display:none}.portfolio-lightbox__header h2{font-size:1.5rem}.portfolio-lightbox__tools{gap:0}.portfolio-lightbox__tools :is(button,a){min-width:38px;min-height:44px;padding:.35rem}.portfolio-lightbox__tools .portfolio-lightbox__close{margin-inline-start:.15rem}.portfolio-lightbox__tools .portfolio-lightbox__fit{min-width:57px;gap:.3rem}.portfolio-lightbox__fit svg{display:none}.portfolio-lightbox__footer{gap:.4rem}.portfolio-lightbox__footer>button span,.portfolio-lightbox__keyboard{display:none}.portfolio-lightbox__footer>button{justify-content:center;min-width:44px}.portfolio-lightbox__description{font-size:.6rem}.portfolio-lightbox__reading-row{gap:.35rem;padding-block:.45rem}.portfolio-lightbox__reading-row .portfolio-view-switch{margin-inline-start:auto}.portfolio-lightbox__reading-row .portfolio-view-switch button{min-height:32px;padding:.35rem .55rem;font-size:.61rem}html[lang^=ar] .portfolio-reader__hero h1{font-size:clamp(2.65rem,10vw,4rem)}}@media (prefers-reduced-motion: reduce){.portfolio-reader *,.portfolio-showcase *,.portfolio-lightbox *{scroll-behavior:auto!important;transition:none!important}}
