*,:after,:before{--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:rgba(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:rgba(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: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-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{line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{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,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{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}}.relative{position:relative}.z-10{z-index:10}.mx-auto{margin-left:auto;margin-right:auto}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mr-2{margin-right:.5rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.flex{display:flex}.inline-flex{display:inline-flex}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-16{height:4rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-full{height:100%}.min-h-\[40vh\]{min-height:40vh}.min-h-\[70vh\]{min-height:70vh}.min-h-\[80vh\]{min-height:80vh}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-full{width:100%}.min-w-0{min-width:0}.min-w-\[100px\]{min-width:100px}.min-w-\[132px\]{min-width:132px}.max-w-4xl{max-width:56rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:.5rem}.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-hidden{overflow:hidden}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-\[11px\]{border-radius:11px}.rounded-\[13px\]{border-radius:13px}.rounded-\[9px\]{border-radius:9px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.border{border-width:1px}.border-2{border-width:2px}.border-b-2{border-bottom-width:2px}.border-t-2{border-top-width:2px}.border-current{border-color:currentColor}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-input{border-color:hsl(var(--input))}.border-primary{border-color:hsl(var(--primary))}.border-t-transparent{border-top-color:transparent}.bg-background{background-color:hsl(var(--background))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/10{background-color:hsl(var(--primary)/.1)}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-slate-950{--tw-bg-opacity:1;background-color:rgb(2 6 23/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.from-slate-300{--tw-gradient-from:#cbd5e1 var(--tw-gradient-from-position);--tw-gradient-to:rgba(203,213,225,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-slate-500{--tw-gradient-to:#64748b var(--tw-gradient-to-position)}.bg-clip-text{background-clip:text}.object-contain{object-fit:contain}.p-0{padding:0}.p-4{padding:1rem}.px-12{padding-left:3rem;padding-right:3rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.px-9{padding-left:2.25rem;padding-right:2.25rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-24{padding-bottom:6rem}.text-center{text-align:center}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.text-2xl{font-size:1.5rem;line-height:2rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.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}.font-\[500\]{font-weight:500}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.italic{font-style:italic}.leading-\[19px\]{line-height:19px}.tracking-tight{letter-spacing:-.025em}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-transparent{color:transparent}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline-offset-4{text-underline-offset:4px}.outline{outline-style:solid}.ring{--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(3px + 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-offset-background{--tw-ring-offset-color:hsl(var(--background))}.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}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@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))}}.duration-300{animation-duration:.3s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}:root{--paper:#f1f0eb;--ink:#151512;--muted:#66665f;--line:#b8b7ae;--panel:#e3e1d9;--accent:#7b241c}.dark{--paper:#151514;--ink:#efefeb;--muted:#a3a39d;--line:#444440;--panel:#20201e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-geist-sans),Arial,sans-serif;text-rendering:optimizeLegibility}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:80;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}a{color:inherit;text-decoration:none}::selection{background:var(--ink);color:var(--paper)}:focus-visible{outline:2px solid var(--ink);outline-offset:4px}h1,h2,h3,p{text-wrap:pretty}.route-stage{animation:route-settle .5s cubic-bezier(.4,0,.2,1) both;transform-origin:50% 0}@keyframes route-settle{0%{opacity:0;transform:translateY(14px) scale(.997)}to{opacity:1;transform:translateY(0) scale(1)}}.skip-link{position:fixed;top:-100px;left:16px;z-index:100;background:var(--ink);color:var(--paper);padding:12px 16px}.skip-link:focus{top:16px}.site-nav{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(18px) saturate(.85);border-bottom:1px solid var(--line)}.nav-inner{height:84px;max-width:1500px;margin:auto;padding:0 3vw;display:grid;grid-template-columns:1fr auto;align-items:center}.nav-identity{display:flex;align-items:center;gap:14px}.monogram{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--ink);font-family:Georgia,serif;font-style:italic;font-weight:600;letter-spacing:-.08em;transition:background .25s,color .25s,transform .25s}.monogram:hover{background:var(--ink);color:var(--paper);transform:rotate(-4deg)}.nav-signature{display:flex;flex-direction:column;gap:2px;line-height:1.1}.nav-signature strong{font-size:12px;font-weight:600;letter-spacing:-.02em}.nav-signature span{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.nav-links{justify-self:end;display:flex;gap:clamp(15px,1.8vw,30px);align-items:center;font-size:11px}.nav-links a{color:var(--muted);transition:color .25s ease,transform .25s;display:flex;flex-direction:column;gap:3px;position:relative;padding-bottom:3px}.nav-links small{font-size:7px;color:color-mix(in srgb,var(--muted) 65%,transparent);letter-spacing:.1em}.nav-links a.active,.nav-links a:hover{color:var(--ink)}.nav-links a:hover{transform:translateY(-2px)}.nav-links a:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .28s cubic-bezier(.16,1,.3,1)}.nav-links a.active:after,.nav-links a:hover:after{transform:scaleX(1)}.menu-button{display:none;border:0;background:none;color:inherit;font:inherit}.editorial-page{max-width:1500px;margin:auto;padding:0 3vw}.home-hero{min-height:calc(100dvh - 84px);display:grid;grid-template-columns:1.08fr .8fr 1fr;grid-template-rows:auto 1fr auto;align-items:center;gap:2.5vw 4vw;padding:3vh 0 4vh;border-bottom:1px solid var(--line);position:relative;overflow:hidden}.home-hero:after{content:"";position:absolute;left:37.5%;top:0;bottom:0;width:1px;background:var(--line);opacity:.45;z-index:-1}.hero-kicker{grid-column:1/-1;display:flex;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid var(--line);text-transform:uppercase;letter-spacing:.12em;font-size:10px;color:var(--muted)}.hero-name{font-size:clamp(4.8rem,9.5vw,10rem);line-height:.72;letter-spacing:-.09em;font-weight:650;z-index:2;align-self:end;padding-bottom:9vh}.hero-name span{display:block}.hero-name .serif-name{font-family:Georgia,Times New Roman,serif;font-style:italic;font-weight:400;letter-spacing:-.085em;margin-left:4vw}.hero-portrait{position:relative;aspect-ratio:3/4;filter:grayscale(1) contrast(1.04);background:var(--panel);overflow:hidden;align-self:center;clip-path:inset(0);transition:transform .65s cubic-bezier(.16,1,.3,1),clip-path .7s cubic-bezier(.16,1,.3,1),box-shadow .45s ease;box-shadow:0 22px 60px color-mix(in srgb,var(--ink) 10%,transparent)}.hero-portrait:after{content:"";position:absolute;inset:0;border:1px solid color-mix(in srgb,var(--paper) 40%,transparent);box-shadow:inset 0 0 60px color-mix(in srgb,var(--ink) 8%,transparent);pointer-events:none}.hero-portrait:hover{transform:translateY(-4px);box-shadow:0 28px 70px color-mix(in srgb,var(--ink) 12%,transparent)}.portrait-image{object-fit:cover}.hero-copy{align-self:end;padding-bottom:7vh}.hero-copy h1{font-size:clamp(2.7rem,4.3vw,5.3rem);line-height:.88;letter-spacing:-.07em;margin:28px 0;text-wrap:balance}.lede{max-width:48ch;color:var(--muted);line-height:1.55}.text-link{display:inline-flex;gap:12px;margin-top:30px;padding-bottom:5px;border-bottom:1px solid;font-size:13px;transition:gap .25s,color .25s}.text-link:hover{gap:22px;color:var(--accent)}.hero-scroll{grid-column:1/-1;margin:0;display:flex;justify-content:space-between;align-items:center;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.hero-scroll span{font-size:18px;color:var(--ink)}.section-index{display:flex;justify-content:space-between;gap:20px;width:100%;padding:0 0 15px;border-bottom:1px solid var(--line);font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.section-index span:first-child{color:var(--accent)}.intro-grid{display:grid;grid-template-columns:1.35fr 1fr .55fr;gap:6vw;padding:10vh 0 13vh;border-bottom:1px solid var(--line);align-items:start}.intro-grid .section-index{grid-column:1/-1;margin-bottom:4vh}.capability-section>h2,.intro-grid h2,.work-section h2{font-size:clamp(3rem,7vw,8rem);line-height:.88;letter-spacing:-.07em;margin:0}.capability-section>h2 em,.intro-grid h2 em,.work-section h2 em{font-family:Georgia,Times New Roman,serif;font-weight:400}.intro-grid p{margin:0 0 22px;color:var(--muted);line-height:1.55}.round-link{width:150px;aspect-ratio:1;border:1px solid var(--ink);border-radius:50%;display:flex;align-items:center;justify-content:center;gap:10px;transition:.3s}.round-link:hover{background:var(--ink);color:var(--paper);transform:rotate(-5deg)}.work-section{padding:10vh 0 13vh;border-bottom:1px solid var(--line)}.work-section>.section-index{margin-bottom:5vh}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:9vh}.section-heading>a{font-size:13px;border-bottom:1px solid;padding-bottom:4px}.work-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:10vh 3vw;align-items:start}.work-item{display:block;position:relative}.work-item:before{content:"View case";position:absolute;z-index:3;top:18px;right:18px;width:78px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--paper);font-size:9px;text-transform:uppercase;letter-spacing:.08em;opacity:0;transform:scale(.7) rotate(12deg);transition:opacity .3s,transform .45s cubic-bezier(.16,1,.3,1)}.work-item:hover:before{opacity:1;transform:scale(1) rotate(-5deg)}.work-2,.work-4{margin-top:16vh}.work-image{position:relative;aspect-ratio:16/10;background:var(--panel);overflow:hidden;border:1px solid color-mix(in srgb,var(--line) 70%,transparent);box-shadow:0 16px 42px color-mix(in srgb,var(--ink) 5%,transparent);transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .35s ease}.work-2 .work-image,.work-3 .work-image{aspect-ratio:4/3}.project-image{object-fit:cover;filter:grayscale(1) contrast(.94);transition:filter .45s ease,transform .8s cubic-bezier(.16,1,.3,1)}.work-item:hover .work-image{transform:translateY(-6px);box-shadow:0 24px 58px color-mix(in srgb,var(--ink) 10%,transparent)}.work-item:hover .project-image{filter:grayscale(0) contrast(1);transform:scale(1.035)}.work-meta{display:flex;justify-content:space-between;gap:20px;padding-top:15px;border-top:1px solid var(--line);margin-top:12px}.work-meta h3{margin:0;font-size:clamp(1.4rem,2.3vw,2.8rem);letter-spacing:-.04em}.work-meta p{margin:5px 0 0;color:var(--muted);font-size:11px;text-align:right}.capability-section{padding:10vh 0 13vh}.capability-section>.section-index{margin-bottom:5vh}.capability-section>h2{margin-bottom:10vh}.capability-list{margin-left:24%}.capability-list article{display:grid;grid-template-columns:70px 1fr 1fr;gap:2vw;border-top:1px solid var(--line);padding:30px 0;transition:padding .3s,color .3s}.capability-list article:hover{padding-left:18px;color:var(--accent)}.capability-list span{color:var(--muted);font-size:11px}.capability-list h3{font-size:clamp(1.4rem,2.5vw,3rem);letter-spacing:-.045em;margin:0}.capability-list p{color:var(--muted);line-height:1.5;margin:0;max-width:48ch}.contact-banner{min-height:55vh;padding:10vh 0;border-top:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;position:relative}.contact-banner:before{content:"04 / Contact";position:absolute;top:22px;left:0;font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.contact-banner p{color:var(--muted);max-width:32ch}.contact-banner a{font-family:Georgia,Times New Roman,serif;font-style:italic;font-size:clamp(4rem,12vw,13rem);line-height:.85;letter-spacing:-.08em;border-bottom:1px solid var(--ink);width:max-content;max-width:100%;transition:color .25s,padding-left .35s}.contact-banner a:hover{color:var(--accent);padding-left:2vw}.site-footer{max-width:1500px;margin:auto;padding:90px 3vw 35px;border-top:1px solid var(--line);display:grid;grid-template-columns:110px 1.3fr .8fr;gap:30px;align-items:end;font-size:12px;position:relative}.site-footer:before{content:"End / Let’s make something useful";position:absolute;top:22px;left:3vw;right:3vw;padding-bottom:14px;border-bottom:1px solid var(--line);font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.footer-mark{font-family:Georgia,Times New Roman,serif;font-style:italic;font-size:3rem;font-weight:400;letter-spacing:-.08em}.footer-copy p{margin:3px 0;color:var(--muted);max-width:44ch}.footer-copy p:first-child{color:var(--ink)}.footer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px;justify-self:end;min-width:min(280px,100%)}.footer-links a{color:var(--muted);border-bottom:1px solid var(--line);padding:8px 0 10px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;transition:color .25s,border-color .25s,transform .25s}.footer-links a:hover{color:var(--ink);border-color:var(--ink);transform:translateX(4px)}.inner-page{max-width:1500px;margin:auto;padding:0 3vw 14vh}.page-title{min-height:54vh;padding:9vh 0 6vh;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 3fr;align-content:end;gap:3vw;position:relative;overflow:hidden}.page-title:after{content:"DO";position:absolute;right:-.03em;top:50%;transform:translateY(-50%);font-family:Georgia,Times New Roman,serif;font-style:italic;font-size:clamp(12rem,27vw,28rem);line-height:.7;letter-spacing:-.12em;color:transparent;-webkit-text-stroke:1px color-mix(in srgb,var(--line) 55%,transparent);z-index:-1}.page-title>p{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.page-title h1{font-size:clamp(4rem,10vw,11rem);line-height:.78;letter-spacing:-.08em;margin:0;max-width:10ch;text-wrap:balance}.page-title h1:first-line{font-weight:650}.title-note{grid-column:2;color:var(--muted);max-width:52ch;line-height:1.5;margin-top:25px}.about-lead{display:grid;grid-template-columns:minmax(280px,.62fr) minmax(0,1.38fr);gap:7vw;padding:12vh 0;border-bottom:1px solid var(--line);align-items:start}.about-photo{position:relative;aspect-ratio:4/5;width:min(100%,420px);filter:grayscale(1) contrast(1.04);background:var(--panel);overflow:hidden}.about-photo:after{content:"Dennis Opoola — Portrait";position:absolute;left:12px;bottom:12px;background:var(--paper);padding:8px 10px;font-size:8px;text-transform:uppercase;letter-spacing:.1em}.about-photo img{object-fit:cover}.about-lead h2{font-size:clamp(2.5rem,5.5vw,6rem);line-height:.92;letter-spacing:-.06em;margin:0 0 45px}.about-lead p,.facts-grid p{color:var(--muted);line-height:1.6;max-width:62ch}.large-copy{font-size:clamp(1.25rem,2vw,2rem);color:var(--ink)!important;line-height:1.35!important}.facts-grid{display:grid;grid-template-columns:1fr 2fr;gap:7vw;padding:9vh 0;border-bottom:1px solid var(--line)}.contact-email span,.facts-grid span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:18px}.facts-grid article h3{font-size:clamp(1.5rem,3vw,3rem);margin:0;letter-spacing:-.04em}.skills-cloud{padding:10vh 0}.skill-section>h2,.skills-cloud h2{font-size:clamp(3rem,7vw,8rem);letter-spacing:-.07em;margin:0 0 7vh}.skills-cloud>div{display:flex;flex-wrap:wrap;gap:12px}.skills-cloud span{border-bottom:1px solid var(--line);padding:15px 4px;font-family:Georgia,Times New Roman,serif;font-style:italic;font-size:clamp(1.4rem,2.4vw,2.8rem);transition:color .25s,border-color .25s,transform .25s}.skills-cloud span:hover{color:var(--accent);border-color:var(--accent);transform:translateY(-3px)}.inline-actions{display:flex;flex-wrap:wrap;gap:35px;padding-top:40px;border-top:1px solid var(--line)}.inline-actions a,.project-links a{border-bottom:1px solid;padding-bottom:4px;font-size:13px}.project-index{padding-top:5vh}.index-project{display:grid;grid-template-columns:55px 1.12fr .88fr;gap:3vw;padding:8vh 0;border-bottom:1px solid var(--line);position:relative}.index-project:nth-child(2n){grid-template-columns:55px .88fr 1.12fr}.index-project:nth-child(2n) .index-image{grid-column:3}.index-project:nth-child(2n) .index-content{grid-column:2;grid-row:1}.index-number{color:var(--muted);font-size:11px}.index-image{position:relative;aspect-ratio:16/10;background:var(--panel);overflow:hidden}.index-image:after{content:"Open project ↗";position:absolute;left:0;bottom:0;background:var(--ink);color:var(--paper);padding:12px 16px;font-size:9px;text-transform:uppercase;letter-spacing:.09em;transform:translateY(100%);transition:transform .35s cubic-bezier(.16,1,.3,1)}.index-image:hover:after{transform:translateY(0)}.index-image img{object-fit:cover;filter:grayscale(1);transition:filter .4s,transform .5s}.index-image:hover img{filter:grayscale(0);transform:scale(1.02)}.index-content h2{font-family:Georgia,Times New Roman,serif;font-style:italic;font-weight:400;font-size:clamp(2.8rem,5.4vw,6.4rem);line-height:.84;letter-spacing:-.065em;margin:0 0 30px}.index-content>p{color:var(--muted);line-height:1.55;max-width:58ch}.tech-line{font-size:10px;text-transform:uppercase;letter-spacing:.05em;line-height:1.6;margin:35px 0;color:var(--muted)}.project-links{display:flex;flex-wrap:wrap;gap:24px}.skill-section{padding:11vh 0;border-bottom:1px solid var(--line)}.numbered-grid{display:grid;grid-template-columns:repeat(2,1fr);margin-left:18%}.numbered-grid article{display:grid;grid-template-columns:45px 1fr;align-content:start;border-top:1px solid var(--line);padding:28px 30px 45px 0;min-height:210px;transition:background .3s,padding .3s}.numbered-grid article:hover{background:color-mix(in srgb,var(--panel) 55%,transparent);padding-left:18px}.numbered-grid span{font-size:10px;color:var(--muted)}.numbered-grid h3{font-size:clamp(1.4rem,2.6vw,3rem);letter-spacing:-.045em;margin:0}.numbered-grid p{grid-column:2;color:var(--muted);line-height:1.5;max-width:45ch}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:10vw;padding:12vh 0}.contact-layout p{color:var(--muted);line-height:1.6}.contact-email a{font-size:clamp(1.5rem,3.5vw,4rem);letter-spacing:-.04em;overflow-wrap:anywhere}.social-rows{margin-left:30%}.social-rows a{display:flex;justify-content:space-between;padding:28px 0;border-top:1px solid var(--line);font-family:Georgia,Times New Roman,serif;font-style:italic;font-size:clamp(1.8rem,3.4vw,4rem);letter-spacing:-.04em;transition:padding .3s,color .3s}.social-rows a:hover{padding-left:18px;color:var(--accent)}.external-mark{width:1.25em;height:1.25em;border:1px solid;border-radius:999px;display:grid;place-items:center;flex:0 0 auto;font-style:normal}.external-mark:before{content:"";width:.34em;height:.34em;border-top:2px solid;border-right:2px solid;transform:translate(-1px,1px) rotate(45deg)}.certificate-grid{padding-top:8vh;display:grid;grid-template-columns:repeat(2,1fr);gap:10vh 3vw}.certificate-item{display:block;transition:transform .45s cubic-bezier(.16,1,.3,1)}.certificate-item:hover{transform:translateY(-8px)}.certificate-item:nth-child(2n){margin-top:13vh}.certificate-image{position:relative;aspect-ratio:16/10;background:#fff;overflow:hidden}.certificate-image img{object-fit:contain;filter:grayscale(1);transition:filter .4s}.certificate-item:hover img{filter:grayscale(0)}.certificate-copy{display:grid;grid-template-columns:45px 1fr;border-top:1px solid var(--line);padding-top:18px;margin-top:12px}.certificate-copy>span{font-size:10px;color:var(--muted)}.certificate-copy h2{font-size:clamp(1.5rem,3vw,3.3rem);letter-spacing:-.05em;line-height:1;margin:0 0 18px}.certificate-copy p{grid-column:2;color:var(--muted);line-height:1.5;max-width:52ch}.cv-selector-page{padding-bottom:12vh}.cv-selector-hero{min-height:calc(78dvh - 84px);display:grid;grid-template-rows:auto 1fr auto;padding:3vh 0 7vh;border-bottom:1px solid var(--line);position:relative;overflow:hidden}.cv-selector-hero:after{content:"CV";position:absolute;right:-.03em;top:51%;transform:translateY(-50%);font-family:Georgia,Times New Roman,serif;font-style:italic;font-size:clamp(15rem,34vw,34rem);line-height:.7;letter-spacing:-.15em;color:transparent;-webkit-text-stroke:1px color-mix(in srgb,var(--line) 55%,transparent);z-index:-1}.cv-selector-utility{display:flex;align-items:center;justify-content:space-between;padding-bottom:15px;border-bottom:1px solid var(--line);color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.12em}.cv-selector-utility a{color:var(--ink);transition:color .25s,transform .25s}.cv-selector-utility a:hover{color:var(--accent);transform:translateX(-4px)}.cv-selector-heading{align-self:center;padding:7vh 0}.cv-selector-heading>p{margin:0 0 24px;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.12em}.cv-selector-heading h1{margin:0;font-size:clamp(4.8rem,11vw,12rem);line-height:.7;letter-spacing:-.085em;font-weight:650}.cv-selector-heading h1 em,.cv-selector-heading h1 span{display:block}.cv-selector-heading h1 em{margin-left:18%;font-family:Georgia,Times New Roman,serif;font-weight:400}.cv-selector-intro{width:min(48ch,72%);margin:0 0 0 auto;padding-top:24px;border-top:1px solid var(--line);color:var(--muted);line-height:1.55}.cv-downloads{padding:10vh 0 0}.cv-downloads>.section-index{margin-bottom:5vh}.cv-download-list{border-bottom:1px solid var(--line)}.cv-download-row{min-height:148px;display:grid;grid-template-columns:52px .55fr 1.25fr .7fr auto;gap:2vw;align-items:center;border-top:1px solid var(--line);transition:padding .35s,color .25s,background .25s,transform .25s}.cv-download-row:hover{padding-left:18px;color:var(--accent);background:color-mix(in srgb,var(--panel) 45%,transparent);transform:translateY(-2px)}.cv-download-row:active{transform:translateY(1px)}.cv-download-detail,.cv-download-number{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.1em}.cv-download-row strong{font-family:Georgia,Times New Roman,serif;font-style:italic;font-weight:400;font-size:clamp(3.2rem,6vw,7rem);line-height:.8;letter-spacing:-.06em}.cv-download-label{font-size:clamp(1.1rem,1.8vw,2rem);letter-spacing:-.035em;max-width:18ch}.cv-download-action{display:flex;align-items:center;gap:18px;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.cv-download-action i{width:45px;aspect-ratio:1;display:grid;place-items:center;border:1px solid;border-radius:50%;font-family:Georgia,Times New Roman,serif;font-size:18px;font-style:normal;transition:transform .35s,background .25s,color .25s}.cv-download-row:hover .cv-download-action i{transform:translateY(4px);background:var(--accent);color:var(--paper)}.project-case-page{max-width:1500px;margin:auto;padding:0 3vw 12vh}.case-hero{min-height:calc(100dvh - 84px);display:grid;grid-template-rows:auto 1fr auto;padding:3vh 0 5vh;border-bottom:1px solid var(--line)}.case-label,.case-utility{display:flex;justify-content:space-between;gap:24px;padding-bottom:14px;border-bottom:1px solid var(--line);color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.12em}.case-utility a{color:var(--ink);transition:color .25s,transform .25s}.case-utility a:hover{color:var(--accent);transform:translateX(-4px)}.case-heading{align-self:center;padding:6vh 0}.case-heading>p{margin:0 0 25px;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.12em}.case-heading h1{margin:0;max-width:11ch;font-size:clamp(5rem,13vw,14rem);line-height:.72;letter-spacing:-.09em;text-wrap:balance}.case-meta{display:grid;grid-template-columns:1fr auto;gap:5vw;align-items:end;margin-left:38%;padding-top:25px;border-top:1px solid var(--line)}.case-meta span{display:block;margin-bottom:10px;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.12em}.case-meta p{margin:0;max-width:55ch;line-height:1.5}.case-actions{display:flex;gap:25px}.case-actions a{padding-bottom:5px;border-bottom:1px solid;font-size:12px;transition:color .25s}.case-actions a:hover{color:var(--accent)}.case-image-frame{margin:8vh 0 0;aspect-ratio:16/9;overflow:hidden;background:var(--panel);border:1px solid var(--line)}.case-image-frame img{width:100%;height:100%;object-fit:cover;filter:grayscale(.85) contrast(.96);transition:filter .6s,transform 1s cubic-bezier(.4,0,.2,1)}.case-image-frame:hover img{filter:grayscale(0) contrast(1);transform:scale(1.012)}.case-notes,.case-overview{display:grid;grid-template-columns:.7fr 1fr 1.15fr;gap:5vw;padding:11vh 0;border-bottom:1px solid var(--line)}.case-notes .case-label,.case-overview .case-label{grid-column:1/-1;margin-bottom:2vh}.case-details-grid h2,.case-notes h2,.case-overview h2{margin:0;font-family:Georgia,Times New Roman,serif;font-style:italic;font-weight:400;font-size:clamp(3rem,6vw,7rem);line-height:.83;letter-spacing:-.065em}.case-notes>p,.case-overview>p{grid-column:3;margin:0;color:var(--muted);font-size:clamp(1rem,1.4vw,1.3rem);line-height:1.65;text-wrap:pretty}.case-stack{grid-column:2/-1;display:flex;flex-wrap:wrap;gap:0;margin-top:3vh;border-top:1px solid var(--line)}.case-stack span{padding:13px 20px 13px 0;margin-right:20px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.case-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:7vw;padding:11vh 0;border-bottom:1px solid var(--line)}.case-details-grid .case-label{margin-bottom:5vh}.case-details-grid h2{min-height:1.7em;margin-bottom:5vh}.case-details-grid ol{list-style:none;margin:0;padding:0}.case-details-grid li{display:grid;grid-template-columns:42px 1fr;gap:15px;padding:17px 0;border-top:1px solid var(--line);color:var(--muted);line-height:1.45;transition:padding .3s,color .3s}.case-details-grid li:hover{padding-left:12px;color:var(--ink)}.case-details-grid li span{padding-top:3px;font-size:9px;color:var(--accent);font-variant-numeric:tabular-nums}.next-case{min-height:50vh;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr;align-items:end;gap:3vw;padding:9vh 0 4vh;border-bottom:1px solid var(--ink)}.next-case>span:first-child{align-self:start;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.12em}.next-case strong{font-family:Georgia,Times New Roman,serif;font-style:italic;font-weight:400;font-size:clamp(4rem,10vw,12rem);line-height:.76;letter-spacing:-.08em;transition:color .3s,transform .5s cubic-bezier(.4,0,.2,1)}.next-case>span:last-child{font-size:clamp(2rem,5vw,5rem)}.next-case:hover strong{color:var(--accent);transform:translateX(1.5vw)}main>.container,main>.min-h-screen,main>.py-0,main>.py-12,main>.py-6{max-width:1400px;margin:auto;padding-left:3vw;padding-right:3vw}.rounded-full,.rounded-lg,.rounded-xl{border-radius:0!important}.shadow-2xl,.shadow-lg,.shadow-sm,.shadow-xl{box-shadow:none!important}.bg-gradient-to-b,.bg-gradient-to-r{background-image:none!important}@media (max-width:1100px) and (min-width:768px){.nav-inner{grid-template-columns:1fr auto}.home-hero{grid-template-columns:1fr .78fr;gap:3vw 5vw}.home-hero:after{left:52%}.hero-kicker{grid-column:1/-1}.hero-name{grid-column:1;grid-row:2;font-size:clamp(5rem,12vw,8rem);padding-bottom:4vh;align-self:end}.hero-portrait{grid-column:2;grid-row:2;width:100%;align-self:center}.hero-copy{grid-column:1/-1;grid-row:3;display:grid;grid-template-columns:1fr 1.25fr auto;gap:4vw;align-items:start;padding:3vh 0;border-top:1px solid var(--line)}.hero-copy .lede,.hero-copy .text-link,.hero-copy h1{margin-top:0}.hero-copy h1{font-size:clamp(2.5rem,5vw,4rem)}.hero-scroll{grid-row:4}}@media (max-width:767px){.site-nav.menu-open{position:fixed;inset:0 0 auto 0;z-index:95;height:100dvh;background:var(--paper)}.nav-inner{height:62px;padding:0 18px}.nav-signature{display:none}.menu-button{display:block}.nav-links{display:none;position:fixed;inset:62px 0 0 0;width:100vw;min-height:calc(100dvh - 62px);background:var(--paper);padding:18px 18px 48px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;font-size:clamp(2.3rem,13vw,4.5rem);overflow-y:auto;z-index:94}.nav-links.is-open{display:flex}.nav-links a{display:grid;grid-template-columns:36px 1fr;align-items:center;padding:12px 0;border-top:1px solid var(--line);font-family:Georgia,Times New Roman,serif;font-style:italic;color:var(--ink)}.nav-links small{font-family:var(--font-geist-sans),Arial,sans-serif;font-style:normal}.nav-links a.active:after,.nav-links a:after{display:none}.editorial-page{padding:0 18px}.home-hero{min-height:auto;grid-template-columns:1fr;grid-template-rows:auto;gap:28px;padding:24px 0 38px}.home-hero:after{display:none}.hero-copy,.hero-kicker,.hero-name,.hero-portrait,.hero-scroll{grid-column:1;grid-row:auto}.hero-name{font-size:22vw}.hero-name .serif-name{margin-left:9vw}.hero-portrait{width:72%;margin-left:auto;aspect-ratio:4/5}.hero-copy{padding:0}.hero-copy h1{margin:20px 0}.hero-scroll{padding-top:15px}.intro-grid{grid-template-columns:1fr;padding:90px 0;gap:40px}.round-link{width:120px}.work-section{padding:90px 0}.section-heading{align-items:start;flex-direction:column;gap:25px;margin-bottom:55px}.work-grid{grid-template-columns:1fr;gap:60px}.work-2,.work-4{margin:0}.capability-section{padding:90px 0}.capability-list{margin:0}.capability-list article{grid-template-columns:40px 1fr}.capability-list article p{grid-column:2}.contact-banner{min-height:45vh}.contact-banner:before{position:static;margin-bottom:18px}.site-footer{grid-template-columns:1fr;padding:95px 18px 30px}.footer-links{justify-self:start;grid-template-columns:1fr 1fr;width:100%;min-width:0;margin-top:18px}.inner-page{padding:0 18px 90px}.page-title{min-height:40vh;padding:60px 0 40px;display:block}.page-title>p{margin-bottom:30px}.page-title h1{font-size:18vw}.title-note{margin-top:28px}.about-lead,.contact-layout,.facts-grid{grid-template-columns:1fr;padding:75px 0}.about-photo{width:min(78%,360px)}.facts-grid{gap:55px}.skills-cloud{padding:75px 0}.index-project{grid-template-columns:30px 1fr;padding:55px 0}.index-image{grid-row:1}.index-content,.index-image{grid-column:2}.index-project:nth-child(2n){grid-template-columns:30px 1fr}.index-project:nth-child(2n) .index-image{grid-column:2;grid-row:1}.index-project:nth-child(2n) .index-content{grid-column:2;grid-row:2}.numbered-grid{grid-template-columns:1fr;margin:0}.numbered-grid article{min-height:auto;padding-right:0}.social-rows{margin:0}.certificate-grid{grid-template-columns:1fr;gap:65px}.certificate-item:nth-child(2n){margin:0}.cv-selector-hero{min-height:auto;padding:24px 0 60px}.cv-selector-heading{padding:90px 0 80px}.cv-selector-heading h1{font-size:20vw}.cv-selector-heading h1 em{margin-left:7vw}.cv-selector-intro{width:100%}.cv-download-row{min-height:128px;grid-template-columns:34px 1fr auto;gap:18px}.cv-download-label{grid-column:2;align-self:start;margin-top:-26px;color:var(--muted);font-size:12px}.cv-download-detail{display:none}.cv-download-action{grid-column:3;grid-row:1/3;font-size:0}.project-case-page{padding:0 18px 80px}.case-hero{min-height:auto;padding:24px 0 50px}.case-heading{padding:90px 0 80px}.case-heading h1{font-size:20vw}.case-meta{grid-template-columns:1fr;margin:0}.case-actions{margin-top:10px}.case-image-frame{margin-top:50px;aspect-ratio:4/3}.case-notes,.case-overview{grid-template-columns:1fr;padding:75px 0}.case-notes h2,.case-notes>p,.case-overview h2,.case-overview>p,.case-stack{grid-column:1}.case-notes>p,.case-overview>p{margin-top:30px}.case-stack{margin-top:20px}.case-details-grid{grid-template-columns:1fr;padding:75px 0;gap:80px}.case-details-grid h2{min-height:0}.next-case{min-height:40vh;grid-template-columns:1fr auto}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive)/.9)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary)/.9)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary)/.8)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:underline:hover{text-decoration-line:underline}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.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-offset-2:focus-visible{--tw-ring-offset-width:2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.dark\:border-gray-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.dark\:bg-gray-800:is(.dark *){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.dark\:bg-gray-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.dark\:bg-red-900\/30:is(.dark *){background-color:rgba(127,29,29,.3)}.dark\:text-gray-200:is(.dark *){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.dark\:text-gray-300:is(.dark *){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.dark\:text-gray-400:is(.dark *){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.dark\:text-red-400:is(.dark *){--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}@media (min-width:768px){.md\:text-7xl{font-size:4.5rem;line-height:1}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}@font-face{font-family:__GeistSans_8adcd2;src:url(/_next/static/media/0b78ff376f6b9734-s.p.woff2) format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:__GeistSans_Fallback_8adcd2;src:local("Arial");ascent-override:94.56%;descent-override:27.76%;line-gap-override:0.00%;size-adjust:106.28%}.__className_8adcd2{font-family:__GeistSans_8adcd2,__GeistSans_Fallback_8adcd2}.__variable_8adcd2{--font-geist-sans:"__GeistSans_8adcd2","__GeistSans_Fallback_8adcd2"}