:root{--color-signal-orange: #8fe8ff;--color-brand-orange-tint: #c6f6ff;--color-ink-roast: #d7e2ea;--color-paper-white: #ffffff;--color-carbon-black: #f5fbff;--color-ash-grey: #7a8794;--color-sand-wash: rgba(215, 226, 234, .18);--color-linen-blush: rgba(143, 232, 255, .1);--color-citrus-wash: #f5ffbb;--color-mint-wash: #bcffbb;--color-coral-red: #fb2d54;--color-cobalt-blue: #477ee9;--color-emerald-green: #34c771;--font-sequel-sans: "Kanit", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--text-caption: 12px;--leading-caption: 1.5;--tracking-caption: .36px;--text-body-sm: 14px;--leading-body-sm: 1.4;--tracking-body-sm: .42px;--text-body: 16px;--leading-body: 1;--text-subheading: 23px;--leading-subheading: 1.2;--tracking-subheading: .23px;--text-heading-sm: 33px;--leading-heading-sm: 1.2;--tracking-heading-sm: .33px;--text-heading: 44px;--leading-heading: 1.2;--tracking-heading: .44px;--text-heading-lg: 72px;--leading-heading-lg: 1;--tracking-heading-lg: .72px;--text-display: 106px;--leading-display: 1;--font-weight-regular: 400;--font-weight-w450: 450;--font-weight-medium: 500;--spacing-unit: 4px;--spacing-4: 4px;--spacing-8: 8px;--spacing-12: 12px;--spacing-16: 16px;--spacing-20: 20px;--spacing-24: 24px;--spacing-32: 32px;--spacing-48: 48px;--spacing-56: 56px;--spacing-160: 160px;--page-max-width: 1200px;--section-gap: 80px;--card-padding: 16px;--element-gap: 8px;--text-stack-gap: 10px;--radius-lg: 8px;--radius-xl: 12px;--radius-2xl: 16px;--radius-2xl-2: 19.255px;--radius-2xl-3: 21.66px;--radius-3xl: 24px;--radius-full: 60px;--radius-full-2: 84px;--radius-full-3: 112px;--radius-full-4: 150px;--radius-full-5: 9999px;--radius-nav: 84px;--radius-cards: 16px;--radius-links: 8px;--radius-pills: 9999px;--radius-inputs: 16px;--radius-buttons: 12px;--shadow-lg: rgba(143, 232, 255, .18) 0px 24px 80px 0px, rgba(116, 84, 255, .12) 0px 8px 30px 0px;--shadow-md: rgba(143, 232, 255, .1) 0px 0px 28px 0px;--surface-canvas: #0c0c0c;--surface-card-surface: rgba(255, 255, 255, .06);--surface-orange-tint: rgba(143, 232, 255, .08);--surface-frosted-glass: rgba(255, 255, 255, .08);--surface-category-tint: rgba(143, 232, 255, .12);--border-neutral: rgba(215, 226, 234, .16);--border-brand-glass: rgba(143, 232, 255, .24);--stroke-on-light: #d7e2ea;--stroke-utility: #f5fbff;--stroke-on-accent: #0c0c0c;--theme-background: var(--surface-canvas);--theme-foreground: var(--color-ink-roast);--theme-muted: var(--color-ash-grey);--theme-accent: var(--color-signal-orange);--theme-accent-soft: var(--surface-category-tint);--theme-card: var(--surface-card-surface);--theme-card-highlight: var(--surface-orange-tint);--theme-border: var(--border-neutral);--theme-focus-ring: var(--color-signal-orange);--button-primary-bg: var(--color-signal-orange);--button-primary-fg: var(--color-paper-white);--button-primary-radius: var(--radius-buttons);--button-primary-padding-y: var(--spacing-8);--button-primary-padding-x: var(--spacing-16);--link-ghost-fg: var(--color-signal-orange);--link-ghost-radius: var(--radius-links);--input-bg: var(--surface-category-tint);--input-fg: var(--color-ink-roast);--input-radius: var(--radius-inputs);--content-card-bg: var(--surface-card-surface);--content-card-radius: var(--radius-cards);--content-card-shadow: var(--shadow-md)}*,: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}.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.hidden{display:none}.grow{flex-grow:1}.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))}.resize{resize:both}.whitespace-pre{white-space:pre}.rounded{border-radius:.25rem}.border{border-width:1px}.blur{--tw-blur: blur(8px);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)}.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)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100%;background:var(--theme-background);color:var(--theme-foreground);overflow-anchor:none;scroll-behavior:smooth}body{overflow-x:clip;font-family:var(--font-sequel-sans);font-size:var(--text-body);font-weight:var(--font-weight-regular);line-height:var(--leading-body);text-rendering:geometricPrecision}button,a,select{font:inherit}button{color:inherit}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid var(--theme-focus-ring);outline-offset:var(--spacing-4)}button:disabled{cursor:not-allowed;opacity:.48}img{display:block;max-width:100%}.app-shell{position:relative;overflow:hidden;min-height:100vh;background:radial-gradient(circle at 15% 8%,rgba(143,232,255,.18),transparent 28vw),radial-gradient(circle at 86% 20%,rgba(116,84,255,.18),transparent 30vw),radial-gradient(circle at 50% 100%,rgba(247,59,32,.08),transparent 36vw),var(--theme-background);padding:var(--spacing-24)}.app-shell:before{position:fixed;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(rgba(215,226,234,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(215,226,234,.045) 1px,transparent 1px);background-size:42px 42px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.85),transparent 80%);mask-image:linear-gradient(180deg,rgba(0,0,0,.85),transparent 80%);content:""}.cursor-trail{position:fixed;inset:0;z-index:20;overflow:hidden;pointer-events:none}.cursor-trail-core,.cursor-trail-dot{position:fixed;top:0;left:0;display:block;border-radius:999px;mix-blend-mode:screen;opacity:0;transform:translate3d(-50%,-50%,0);will-change:transform,opacity}.cursor-trail-core{width:14px;height:14px;background:radial-gradient(circle,#f6fbff 0%,rgba(143,232,255,.92) 34%,rgba(143,232,255,.18) 70%,transparent 100%);box-shadow:0 0 18px #8fe8ffdb,0 0 42px #7454ff47}.cursor-trail-dot{width:42px;height:10px;border-radius:999px;background:linear-gradient(90deg,transparent 0%,rgba(116,84,255,.26) 18%,rgba(143,232,255,.86) 62%,#f6fbff 100%);box-shadow:0 0 12px #8fe8ffb3,0 0 30px #7454ff3d;filter:blur(.2px)}.cursor-trail-dot:nth-child(3n){background:linear-gradient(90deg,transparent 0%,rgba(143,232,255,.2) 20%,rgba(247,59,32,.42) 66%,#f6fbff 100%);box-shadow:0 0 10px #f73b2057,0 0 24px #8fe8ff57}.page-frame{position:relative;z-index:2;width:min(100%,var(--page-max-width));margin:0 auto;background:transparent;color:var(--theme-foreground)}.cover-nav-frame{position:fixed;top:var(--spacing-24);right:var(--spacing-24);left:var(--spacing-24);z-index:30;width:min(calc(100% - var(--spacing-48)),var(--page-max-width));border:1px solid rgba(143,232,255,.1);border-radius:14px;background:#070a12d6;box-shadow:0 12px 36px #0003;backdrop-filter:blur(14px) saturate(125%);-webkit-backdrop-filter:blur(14px) saturate(125%);opacity:0;pointer-events:none;transform:translateY(-14px);transition:opacity .52s ease,transform .52s ease}.cover-nav-frame.is-ready{opacity:1;pointer-events:auto;transform:translateY(0)}.cover-section{position:relative;z-index:1;display:grid;min-height:100vh;place-items:center;overflow:hidden;margin:calc(-1 * var(--spacing-24)) calc(-1 * var(--spacing-24)) var(--spacing-24);background:#0b0c13;isolation:isolate}.cover-bg{position:absolute;inset:-6%;z-index:-4;background-image:url(/assets/portfolio-cover-bg-v2.png);background-position:center;background-size:cover;opacity:.4;filter:saturate(1.06) contrast(1.02) brightness(.82) blur(4px);will-change:transform}.cover-door{position:absolute;top:-6%;bottom:-6%;z-index:-3;width:50.2%;background-image:url(/assets/portfolio-cover-bg-v2.png);background-size:199.2% 100%;filter:saturate(1.02) contrast(1.02) brightness(1.04);will-change:transform}.cover-door-left{left:-.1%;background-position:left center;transform-origin:right center}.cover-door-right{right:-.1%;background-position:right center;transform-origin:left center}.cover-door-left:after,.cover-door-right:after{position:absolute;top:0;bottom:0;width:1px;background:#f6fbff29;box-shadow:0 0 22px #8fe8ff2e;content:""}.cover-door-left:after{right:0}.cover-door-right:after{left:0}.cover-shade{position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at 50% 46%,rgba(160,136,255,.12),transparent 36%),radial-gradient(circle at 30% 58%,rgba(255,173,118,.12),transparent 30%),radial-gradient(circle at 74% 62%,rgba(182,144,255,.1),transparent 31%),linear-gradient(180deg,#0b0c1305,#0b0c1314 46%,#0b0c137a),linear-gradient(90deg,rgba(11,12,19,.18) 0%,transparent 26%,transparent 74%,rgba(11,12,19,.18) 100%);pointer-events:none}.cover-glass-rain{position:absolute;inset:0;z-index:-1;opacity:.72;pointer-events:none}.cover-rain-half{position:absolute;top:-6%;bottom:-6%;width:50.2%;will-change:transform}.cover-rain-half-left{left:-.1%}.cover-rain-half-right{right:-.1%}.cover-rain-pane{position:absolute;top:10.5%;height:54%;overflow:hidden;filter:drop-shadow(0 0 9px rgba(143,232,255,.08));mix-blend-mode:screen}.cover-rain-half-left .cover-rain-pane-outer,.cover-rain-half-right .cover-rain-pane-outer{width:39%}.cover-rain-half-left .cover-rain-pane-outer{left:0;border-radius:0 44px 44px 0}.cover-rain-half-right .cover-rain-pane-outer{right:0;border-radius:44px 0 0 44px}.cover-rain-half-left .cover-rain-pane-door,.cover-rain-half-right .cover-rain-pane-door{width:29.5%;border-radius:66px 66px 54px 54px}.cover-rain-half-left .cover-rain-pane-door{left:64.5%}.cover-rain-half-right .cover-rain-pane-door{right:64.5%}.cover-rain-drop{position:absolute;top:var(--rain-y);left:var(--rain-x);display:block;width:var(--rain-size);opacity:var(--rain-opacity);pointer-events:none;will-change:transform,opacity}.cover-rain-drop.is-bead{height:var(--rain-size);border:1px solid rgba(238,250,255,.34);border-radius:50% 50% 48% 52%;background:radial-gradient(circle at 32% 24%,rgba(255,255,255,.82),rgba(151,218,241,.2) 38%,rgba(17,30,50,.14) 68%,transparent 72%);box-shadow:inset -1px -2px 3px #0a142547,0 1px 3px #b8e8ff38;animation:cover-glass-bead-creep var(--rain-duration) ease-in infinite var(--rain-delay)}.cover-rain-drop.is-trail{height:var(--rain-length);border-radius:999px;background:linear-gradient(180deg,rgba(247,252,255,.76),rgba(151,218,241,.28) 18%,rgba(151,218,241,.06) 72%,transparent);box-shadow:0 0 4px #bce9ff33;transform-origin:center top;animation:cover-glass-drop-slide var(--rain-duration) cubic-bezier(.42,0,.74,.56) infinite var(--rain-delay)}.cover-open-light{position:absolute;top:0;bottom:0;left:50%;z-index:0;width:min(70vw,900px);background:linear-gradient(90deg,transparent 0%,rgba(143,232,255,.12) 24%,rgba(246,251,255,.88) 50%,rgba(182,144,255,.16) 76%,transparent 100%),radial-gradient(ellipse at center,rgba(246,251,255,.78),rgba(143,232,255,.18) 36%,transparent 68%);filter:blur(18px);opacity:0;pointer-events:none;transform:translate(-50%) scaleX(.04);transform-origin:center;will-change:transform,opacity}@keyframes cover-glass-drop-slide{0%,12%{opacity:0;transform:translate3d(0,-12vh,0) scaleY(.22)}18%{opacity:var(--rain-opacity)}72%{opacity:calc(var(--rain-opacity) * .8)}to{opacity:0;transform:translate3d(var(--rain-drift),58vh,0) scaleY(1.08)}}@keyframes cover-glass-bead-creep{0%,58%{transform:translateZ(0) scale(1)}68%{transform:translate3d(0,3px,0) scale(.96,1.18)}to{transform:translate3d(var(--rain-drift),32px,0) scale(.82,1.24)}}.cover-section:after{position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(215,226,234,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(215,226,234,.035) 1px,transparent 1px);background-size:64px 64px;content:"";-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 18%,#000 78%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 18%,#000 78%,transparent 100%);pointer-events:none}.cover-content{display:grid;justify-items:center;gap:var(--spacing-16);width:min(92vw,1280px);padding:0 var(--spacing-24);text-align:center}.cover-kicker{opacity:0;visibility:hidden;color:var(--theme-accent);font-size:clamp(12px,1.2vw,16px);font-weight:var(--font-weight-w450);letter-spacing:.28em;line-height:var(--leading-caption)}.cover-title{opacity:0;visibility:hidden;color:#f6fbff;font-size:clamp(64px,12vw,172px);font-weight:900;letter-spacing:0;line-height:.82;text-transform:uppercase;text-shadow:0 0 34px rgba(143,232,255,.14),0 24px 80px rgba(0,0,0,.4)}.cover-title-letter{display:inline-block;cursor:default;transform-origin:50% 80%;will-change:transform}.cover-subtitle{opacity:0;visibility:hidden;max-width:38em;color:#f6fbffb8;font-size:clamp(16px,1.7vw,24px);font-weight:300;letter-spacing:.02em;line-height:var(--leading-subheading)}.cover-scroll{position:absolute;bottom:clamp(28px,5vh,56px);left:50%;display:inline-grid;justify-items:center;gap:var(--spacing-8);border:0;background:transparent;color:#f6fbffc7;opacity:0;visibility:hidden;font-size:var(--text-caption);font-weight:var(--font-weight-medium);letter-spacing:.42em;line-height:var(--leading-caption);text-transform:uppercase;transform:translate(-50%)}.cover-scroll-arrow{color:var(--theme-accent);font-size:28px;letter-spacing:0;line-height:1;text-shadow:0 0 18px rgba(143,232,255,.68)}.cover-section.is-entered .cover-scroll{opacity:0;visibility:hidden;pointer-events:none}.site-header{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-24);border:0;border-radius:0;background:transparent;padding:var(--spacing-8) var(--spacing-24);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.logo-mark{display:inline-flex;width:auto;min-width:0;height:var(--spacing-48);align-items:center;justify-content:flex-start;border:0;border-radius:0;background:transparent;color:var(--theme-accent);padding:0;font-size:var(--text-body-sm);font-weight:var(--font-weight-medium);letter-spacing:var(--tracking-body-sm);line-height:var(--leading-body-sm);text-transform:uppercase;transition:color .18s ease,text-shadow .18s ease}.logo-mark:hover{color:#c8f6ff;text-shadow:0 0 18px rgba(143,232,255,.24)}.site-nav{display:flex;align-items:center;gap:var(--spacing-32)}.nav-link{position:relative;border:0;background:transparent;color:#d7e2eac7;font-size:var(--text-body-sm);font-weight:var(--font-weight-w450);letter-spacing:var(--tracking-body-sm);line-height:var(--leading-body-sm);text-transform:uppercase;transition:color .18s ease}.nav-link:after{position:absolute;right:0;bottom:calc(-1 * var(--spacing-4));left:0;height:2px;background:var(--theme-accent);content:"";opacity:0;transform:scaleX(0);transform-origin:left;transition:opacity .18s ease,transform .18s ease}.nav-link:hover,.nav-link.is-active{color:var(--theme-accent)}.nav-link.is-active:after{opacity:1;transform:scaleX(1)}.page-section,.summary-block,.detail-overview,.two-column-detail,.contact-strip{border-bottom:1px solid var(--theme-border)}.media-frame{position:relative;display:flex;min-height:calc(var(--spacing-160) + var(--spacing-32));align-items:center;justify-content:center;overflow:hidden;border:1px solid rgba(215,226,234,.18);border-radius:var(--radius-3xl);background:linear-gradient(145deg,#ffffff1a,#ffffff06),var(--theme-card-highlight);box-shadow:inset 0 1px #ffffff14,0 28px 90px #00000047;color:var(--theme-accent);isolation:isolate}.media-frame:before,.media-frame:after{position:absolute;inset:auto;width:150%;height:1px;background:var(--theme-border);content:"";transform-origin:center}.media-frame:before{transform:rotate(38deg)}.media-frame:after{transform:rotate(-38deg)}.media-frame img{position:relative;z-index:1;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;filter:saturate(1.1) contrast(1.04);transition:filter .24s ease,transform .34s ease}.media-frame:has(img):before,.media-frame:has(img):after{display:none}.media-frame figcaption{position:relative;z-index:1;padding:var(--spacing-16);font-size:var(--text-caption);font-weight:var(--font-weight-w450);letter-spacing:var(--tracking-caption);line-height:var(--leading-caption);text-align:center}.media-frame-large{min-height:calc(var(--spacing-160) * 1.5)}.detail-fact h3,.info-column h4{font-size:var(--text-body-sm);font-weight:var(--font-weight-w450);letter-spacing:var(--tracking-body-sm);line-height:var(--leading-body-sm)}.detail-fact p,.info-column p{min-width:0;color:#d7e2eacc;font-size:var(--text-body-sm);font-weight:var(--font-weight-regular);letter-spacing:var(--tracking-body-sm);line-height:var(--leading-body-sm)}.bottom-cta{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--spacing-24)}.ui-button{display:inline-flex;min-height:var(--spacing-48);align-items:center;justify-content:center;gap:var(--spacing-8);border:1px solid rgba(215,226,234,.18);border-radius:var(--radius-full-5);background:#ffffff0f;color:var(--theme-foreground);padding:var(--button-primary-padding-y) var(--button-primary-padding-x);font-size:var(--text-body-sm);font-weight:var(--font-weight-w450);letter-spacing:var(--tracking-body-sm);line-height:var(--leading-body-sm);text-decoration:none;text-transform:uppercase;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}.ui-button:hover:not(:disabled){border-color:var(--theme-accent);color:var(--theme-accent);background:#8fe8ff1a;box-shadow:0 0 26px #8fe8ff24}.ui-button:active:not(:disabled){transform:translateY(1px)}.ui-button-primary{border-color:var(--button-primary-bg);background:var(--button-primary-bg);color:var(--theme-background);box-shadow:0 0 32px #8fe8ff38}.ui-button-primary:hover:not(:disabled){background:var(--color-brand-orange-tint);color:var(--theme-background)}.ui-button-ghost{min-height:auto;border-color:var(--theme-accent);background:transparent;color:var(--theme-accent)}.page-section,.summary-block,.detail-overview,.two-column-detail,.contact-strip{padding:clamp(56px,9vw,108px) 0}#featured-projects,.home-content-frame{scroll-margin-top:calc(var(--spacing-56) + var(--spacing-48))}.app-shell.is-cover-entered .home-content-frame{padding-top:calc(var(--spacing-56) + var(--spacing-48))}.page-section-tight{padding-bottom:var(--spacing-24)}.section-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-16);margin-bottom:var(--spacing-24)}.section-header h2{display:inline-block;background:linear-gradient(180deg,#f6fbff,#8ea1ad);background-clip:text;color:transparent;font-size:min(64px,clamp(40px,6vw,64px));font-weight:900;letter-spacing:0;line-height:.9;text-transform:uppercase;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.text-action{display:inline-flex;align-items:center;gap:var(--spacing-8);border:0;border-radius:var(--radius-links);background:transparent;color:var(--theme-accent);padding:var(--spacing-8);font-size:var(--text-body-sm);font-weight:var(--font-weight-w450);letter-spacing:var(--tracking-body-sm);line-height:var(--leading-body-sm);transition:background .16s ease}.text-action:hover{background:var(--theme-accent-soft)}.project-grid,.related-grid{display:grid;gap:var(--spacing-24)}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1200px;margin:0 auto}.related-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.project-card,.project-row,.detail-card,.evidence-grid .info-column{border:1px solid var(--theme-border);border-radius:var(--radius-3xl);background:var(--content-card-bg);box-shadow:var(--content-card-shadow)}.project-card{position:relative;display:grid;grid-template-rows:auto 1fr;overflow:hidden;padding:0;background:linear-gradient(180deg,#191b21f5,#090a0efa);transition:border-color .26s ease,box-shadow .26s ease}.project-card:after{position:absolute;inset:0;z-index:3;border:1px solid rgba(255,255,255,.08);border-radius:inherit;content:"";pointer-events:none;transition:border-color .22s ease}.project-card:before{position:absolute;inset:0 auto 0 -42%;z-index:2;width:34%;background:linear-gradient(90deg,transparent,rgba(154,234,250,.12),rgba(255,255,255,.17),transparent);content:"";opacity:0;pointer-events:none}.project-card.is-revealed:before{animation:project-card-sweep .68s cubic-bezier(.16,1,.3,1) both}@keyframes project-card-sweep{0%{opacity:0;transform:translateZ(0)}14%{opacity:.82}to{opacity:0;transform:translate3d(460%,0,0)}}.summary-content:before,.overview-grid:before,.detail-showcase-image:before{position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,rgba(143,232,255,.18),transparent 34%,rgba(255,255,255,.05));content:"";opacity:0;pointer-events:none;transition:opacity .22s ease}.project-card:hover{border-color:#8fe8ff2e;box-shadow:0 30px 84px #0000006b,0 0 48px #7454ff14}.summary-content:hover:before,.overview-grid:hover:before,.detail-showcase-image:hover:before{opacity:1}.project-card:hover:after{border-color:#8fe8ff47}.project-card-media{position:relative;aspect-ratio:16 / 8.5;margin:0;overflow:hidden;border-bottom:1px solid rgba(215,226,234,.1);background:#0b0c10}.project-card-media img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;filter:saturate(.94) contrast(1.01);transform:scale(1);will-change:transform}.project-row-title h3,.summary-copy h3,.process-step h3{color:var(--theme-foreground);font-size:var(--text-body);font-weight:var(--font-weight-medium);line-height:var(--leading-body)}.summary-copy h3{font-size:clamp(24px,2.6vw,28px);line-height:var(--leading-subheading)}.project-row-title p,.summary-copy p,.process-step p,.project-summary{color:#d7e2eabd;font-size:var(--text-body-sm);font-weight:var(--font-weight-regular);letter-spacing:var(--tracking-body-sm);line-height:var(--leading-body-sm)}.project-card-copy{position:relative;isolation:isolate;display:grid;gap:10px;grid-template-rows:auto auto auto 1fr auto;width:100%;color:var(--theme-foreground);padding:clamp(20px,2.5vw,28px);background:radial-gradient(ellipse at 100% 0%,rgba(69,142,173,.12),transparent 42%),linear-gradient(160deg,#111c28fa,#080c12fc)}.project-card-copy:before{position:absolute;top:0;left:clamp(20px,2.5vw,28px);z-index:-1;width:76px;height:2px;background:linear-gradient(90deg,#84dff4,#84dff400);content:""}.project-card-eyebrow{width:-moz-fit-content;width:fit-content;border:1px solid rgba(178,198,208,.14);border-radius:3px 9px 3px 3px;background:#92a9b50f;color:#c1d0d8ad;padding:5px 9px;font-size:var(--text-caption);font-weight:var(--font-weight-w450);letter-spacing:.13em}.project-card h3{max-width:15em;color:#e8eef2;font-size:clamp(28px,3.2vw,42px);font-weight:var(--font-weight-medium);letter-spacing:-.045em;line-height:1.08}.project-card .project-role{width:-moz-fit-content;width:fit-content;border-left:2px solid rgba(164,187,198,.32);background:#9db3bd0b;color:#cbd8deb8;padding:3px 9px;font-size:clamp(12px,1.15vw,14px);font-weight:var(--font-weight-regular);letter-spacing:.02em}.project-card .project-summary{display:-webkit-box;max-width:62em;overflow:hidden;color:#cedae09e;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:clamp(14px,1.2vw,17px);line-height:1.7}.project-card-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-20);margin-top:var(--spacing-8)}.project-card-footer>span{border:1px solid rgba(195,216,229,.14);border-radius:999px;background:#0a11198c;color:#e2ecf299;padding:7px 11px;font-size:12px;letter-spacing:.1em}.project-card .ui-button{width:auto;min-height:46px;border-color:#8fe8ff6b;border-radius:999px;background:#070a0f8f;padding:0 20px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.project-card .radial-project-button{isolation:isolate;box-shadow:0 0 0 1px #8fe8ff0a inset,0 10px 28px #03081247;transition:border-color .24s ease,box-shadow .32s ease,filter .32s ease}.project-card .radial-project-button:hover{border-color:#aaefffd1!important;box-shadow:0 0 0 1px #ffffff2e inset,0 0 30px #8fe8ff3d,0 0 54px #7454ff14,0 12px 32px #03081266;filter:saturate(1.04)}.project-card .radial-project-button:focus-visible{outline:2px solid rgba(143,232,255,.9);outline-offset:4px}.project-card .radial-project-button:disabled{cursor:default;opacity:.42}@media(prefers-reduced-motion:reduce){.project-card .radial-project-button{transition:none}}.profile-dossier{position:relative;display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,1.48fr);align-items:stretch;min-height:580px;margin:26px 0 clamp(72px,9vw,112px);overflow:visible;border:1px solid rgba(48,45,39,.38);background-color:#ede8dc;background-image:repeating-linear-gradient(0deg,rgba(67,58,46,.018) 0 1px,transparent 1px 5px),url(/assets/paper-texture.png);background-position:center;background-repeat:no-repeat;background-size:100% 100%;box-shadow:0 30px 70px #00000061,0 3px 8px #0003,0 5px #b3a9946b,0 8px #36302624;color:#25231f}.profile-dossier:before{position:absolute;inset:12px;z-index:0;border:1px solid rgba(48,45,39,.2);box-shadow:inset 0 0 0 4px #594c3309,inset 0 0 0 5px #ffffff21;content:"";pointer-events:none}.profile-dossier:after{position:absolute;inset:0;z-index:0;background:linear-gradient(225deg,transparent 0 46%,rgba(74,65,49,.16) 47% 49%,rgba(255,255,255,.48) 50% 54%,transparent 55%) top right / 44px 44px no-repeat,linear-gradient(45deg,transparent 0 46%,rgba(74,65,49,.13) 47% 49%,rgba(255,255,255,.38) 50% 54%,transparent 55%) bottom left / 36px 36px no-repeat,linear-gradient(90deg,rgba(57,50,39,.18),rgba(255,255,255,.12) 3px,transparent 15px,transparent 33.8%,rgba(57,50,39,.13) 34.45%,rgba(255,255,255,.3) 35.05%,transparent 36.1%,transparent calc(100% - 15px),rgba(57,50,39,.15)),linear-gradient(180deg,rgba(255,255,255,.28),transparent 26px,transparent calc(100% - 28px),rgba(57,50,39,.1));box-shadow:inset 0 0 28px #4a413113;content:"";pointer-events:none}.dossier-identity,.dossier-work{position:relative;z-index:1;min-width:0}.dossier-identity{background-image:repeating-conic-gradient(from -2deg at 50% 50%,rgba(55,48,38,.052) 0 .32deg,transparent .32deg 4deg);display:flex;flex-direction:column;align-items:center;border-right:1px solid rgba(48,45,39,.25);padding:clamp(24px,2.2vw,30px) clamp(24px,3vw,42px)}.dossier-identity:before{position:absolute;z-index:0;inset:64px 16px 22px;border:1px solid rgba(48,45,39,.14);background:#ede8dc14;content:"";-webkit-mask-image:radial-gradient(ellipse at center,transparent 0 34%,rgba(0,0,0,.52) 56%,#000 100%);mask-image:radial-gradient(ellipse at center,transparent 0 34%,rgba(0,0,0,.52) 56%,#000 100%);pointer-events:none}.dossier-column-heading{position:relative;z-index:1;display:flex;width:100%;align-items:baseline;justify-content:space-between;gap:12px;border-bottom:2px solid #26241f;padding-bottom:11px}.dossier-column-heading>p{color:#26241f;font-size:clamp(15px,1.55vw,20px);font-weight:850;letter-spacing:.04em;line-height:1.25;white-space:nowrap}.dossier-column-heading>p span{font-size:.75em;font-style:italic;letter-spacing:0}.dossier-record-number{flex:0 0 auto;color:#25231fa1;font-size:8px;font-weight:600;letter-spacing:.08em;text-align:right}.dossier-record-number b{color:#24221e}.dossier-portrait{width:min(70%,220px);aspect-ratio:1;overflow:hidden;margin:clamp(20px,2vw,28px) auto 16px;border:7px solid rgba(255,255,255,.56);border-radius:50%;background:#d2cabb;box-shadow:0 8px 20px #2a241929,0 0 0 1px #27241e33}.dossier-portrait img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:50% 29%;object-position:50% 29%;filter:saturate(.88) contrast(1.02)}.dossier-id-card{position:relative;z-index:2;width:min(86%,240px);height:390px;flex:0 0 auto;margin:80px auto 4px;filter:none}.badge-resting-motion{position:absolute;inset:0;transform-origin:50% 0;animation:badge-resting-sway 4.5s ease-in-out infinite alternate}@keyframes badge-resting-sway{0%{transform:translateY(8px) rotate(-1deg)}to{transform:translateY(10px) rotate(1deg)}}.badge-tether{position:absolute;z-index:1;top:-80px;left:50%;overflow:visible;transform:translate(-50%);pointer-events:none}.badge-tether path{fill:none;stroke:#363936;stroke-width:3px;stroke-linecap:round;filter:drop-shadow(0 1px 1px rgba(0,0,0,.14))}.badge-webbing{position:absolute;z-index:2;top:-80px;left:50%;width:44px;height:84px;transform:translate(-50%);border:1px solid rgba(18,20,20,.72);border-radius:7px 7px 4px 4px;background:linear-gradient(90deg,#252827,#41433f 46%,#272a29);box-shadow:0 2px 4px #1816112b}.badge-webbing:before{position:absolute;inset:6px 5px;border:1px dashed rgba(223,218,201,.24);border-radius:4px;content:""}.badge-webbing:after{position:absolute;top:13px;right:9px;left:9px;height:18px;border:1px solid rgba(223,218,201,.13);border-radius:3px;content:""}.badge-pulled-card{position:absolute;z-index:2;inset:0;cursor:grab;touch-action:none;transform-origin:50% 35px;-moz-user-select:none;user-select:none;-webkit-user-select:none;filter:drop-shadow(0 14px 12px rgba(28,25,20,.24))}.badge-entry-glint{position:absolute;z-index:4;top:46px;bottom:16px;left:16%;width:28%;border-radius:50%;background:linear-gradient(90deg,transparent,rgba(127,229,249,.68),rgba(226,250,255,.24),transparent);box-shadow:0 0 16px #7fe5f947;opacity:0;will-change:transform,opacity;contain:paint;pointer-events:none}.night-route{position:fixed;top:50%;right:clamp(18px,2.8vw,52px);z-index:8;display:flex;flex-direction:column;align-items:center;gap:14px;padding:12px 0;transform:translateY(-50%);pointer-events:none}.night-route:before{position:absolute;top:18px;bottom:18px;left:50%;width:1px;background:linear-gradient(180deg,transparent,rgba(121,213,235,.24) 16%,rgba(121,213,235,.24) 84%,transparent);content:""}.night-route-step{position:relative;z-index:1;display:grid;width:10px;height:10px;place-items:center;border:1px solid rgba(154,221,235,.38);border-radius:50%;background:#071622bd;box-shadow:0 0 0 3px #07101a57;transition:background .26s ease,border-color .26s ease,box-shadow .26s ease,transform .26s ease}.night-route-step i{width:3px;height:3px;border-radius:inherit;background:#bbeff9ad;opacity:.36;transition:opacity .22s ease,transform .22s ease}.night-route-step.is-active{border-color:#a9f1fff0;background:#3599b599;box-shadow:0 0 0 3px #07101a5c,0 0 13px #69ddf780;transform:scale(1.15)}.night-route-step.is-active i{opacity:1;transform:scale(1.25)}.night-route-step:not(:last-child):after{position:absolute;top:100%;left:50%;width:1px;height:14px;background:linear-gradient(180deg,#93eafce0,#5cb9d31f);content:"";transform:scaleY(0);transform-origin:top;transition:transform .36s cubic-bezier(.16,1,.3,1)}.night-route-step.is-active:not(:last-child):after{transform:scaleY(1)}.badge-pulled-card.is-dragging{cursor:grabbing}.badge-clip{position:absolute;z-index:3;top:8px;left:50%;width:64px;height:34px;transform:translate(-50%);border:3px solid #888981;border-radius:4px 4px 11px 11px;background:linear-gradient(100deg,#b1b1a8,#71736e 48%,#c0bfb3);box-shadow:0 2px 3px #00000030,inset 0 0 0 1px #2c2d2ab8}.badge-clip span{position:absolute;left:50%;right:auto;bottom:-11px;width:15px;height:15px;border:2px solid #85857d;border-radius:50%;background:#25292a;transform:translate(-50%)}.badge-card{position:absolute;inset:37px 0 0;overflow:hidden;border:5px solid rgba(248,245,235,.88);border-radius:11px;background:#ede8dc;box-shadow:inset 0 0 0 1px #36322a2b,0 0 0 1px #36322a40}.badge-card:before{position:absolute;z-index:1;inset:7px;border:1px solid rgba(39,36,29,.14);content:"";pointer-events:none}.badge-photo-frame{position:absolute;inset:7px 7px 102px;overflow:hidden;background:#d5cba6}.badge-photo-frame img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:50% 30%;object-position:50% 30%;filter:saturate(.92) contrast(1.02);pointer-events:none}.badge-nameplate{position:absolute;right:9px;bottom:9px;left:9px;display:grid;justify-items:center;gap:5px;padding:7px 7px 8px;border:0;border-radius:0;background:transparent;color:#25231f;text-align:center}.badge-nameplate-kicker{color:#25231f9e;font-size:8px;font-weight:650;letter-spacing:.08em}.badge-nameplate strong{color:#1f1d19;font-size:21px;font-weight:850;letter-spacing:.025em}.badge-years{border-bottom:1px solid rgba(154,118,8,.56);padding:3px 2px 4px;color:#65500f;font-size:13px;font-weight:750}.profile-dossier{border-color:#4e697a85;background-color:#dfe7eb;background-blend-mode:normal,soft-light;color:#1b2a35;border-radius:13px 9px 15px 11px;background-clip:padding-box;box-shadow:0 30px 70px #00000061,0 3px 8px #0003,0 5px #9eb1bc6b,0 8px #17263133}.profile-dossier:before{border-color:#344d5c40;border-radius:7px 4px 9px 6px;box-shadow:inset 0 0 0 4px #3b596b0a,inset 0 0 0 5px #fff3,-2px 3px 0 -1px #e9f1f480,-4px 5px 0 -2px #465e6c2e}.profile-dossier:after{border-radius:inherit;background:linear-gradient(225deg,transparent 0 46%,rgba(48,70,84,.15) 47% 49%,rgba(255,255,255,.52) 50% 54%,transparent 55%) top right / 44px 44px no-repeat,linear-gradient(45deg,transparent 0 46%,rgba(48,70,84,.12) 47% 49%,rgba(255,255,255,.42) 50% 54%,transparent 55%) bottom left / 36px 36px no-repeat,linear-gradient(90deg,rgba(42,61,74,.17),rgba(255,255,255,.16) 3px,transparent 15px,transparent 33.8%,rgba(42,61,74,.12) 34.45%,rgba(255,255,255,.34) 35.05%,transparent 36.1%,transparent calc(100% - 15px),rgba(42,61,74,.14)),linear-gradient(180deg,rgba(255,255,255,.32),transparent 26px,transparent calc(100% - 28px),rgba(42,61,74,.1));box-shadow:inset 0 0 28px #2a3d4a14}.dossier-identity{border-right-color:#344d5c40;background-image:repeating-conic-gradient(from -2deg at 50% 50%,rgba(55,75,89,.045) 0 .32deg,transparent .32deg 4deg)}.dossier-identity:before{border-color:#344d5c24;background:#cfdce31a}.dossier-column-heading{border-bottom-color:#233746}.dossier-column-heading>p,.dossier-column-heading>p span{color:#203443}.dossier-record-number{color:#203443a3}.dossier-record-number b{color:#203443}.dossier-portrait{background:#bacbd4;box-shadow:0 8px 20px #182a352e,0 0 0 1px #273a473d}.dossier-name-block{border-bottom-color:#344d5c45}.dossier-name-block h2,.dossier-name-block p{color:#1b2a35}.badge-webbing{border-color:#0d171fd1;background:repeating-linear-gradient(0deg,rgba(215,232,240,.07) 0 1px,transparent 1px 3px),linear-gradient(90deg,#152432,#30495a 46%,#172633);box-shadow:0 2px 5px #0c182140,inset 0 0 0 1px #adcbda21}.badge-webbing:before{border-color:#c4dae43d}.badge-webbing:after{border-color:#c4dae433}.badge-tether path{stroke:#2e4655}.badge-clip{border-color:#7d909a;background:linear-gradient(100deg,#d0d9dd,#788994 48%,#e1e8eb);box-shadow:0 2px 4px #0c18213d,inset 0 0 0 1px #233643ad}.badge-clip span{border-color:#7d909a;background:#182a36}.badge-card{border:5px solid rgba(238,246,249,.82);border-radius:13px;background:linear-gradient(145deg,#f0f7fae6,#d1dfe7f5);box-shadow:inset 0 0 0 1px #3a55653d,0 0 0 1px #2f46546b;transform:perspective(760px) rotateX(var(--badge-tilt-y, 0deg)) rotateY(var(--badge-tilt-x, 0deg));transform-style:preserve-3d;transition:transform .22s cubic-bezier(.2,.7,.2,1);will-change:transform}.badge-card.is-hovering{transition-duration:.15s}.badge-corner{position:absolute;z-index:4;width:18px;height:18px;border-color:#4c8ba3e0;pointer-events:none;transform:translate(var(--corner-shift-x, 0px),var(--corner-shift-y, 0px));transition:transform .18s cubic-bezier(.2,.7,.2,1)}.badge-corner[data-side-x=left]{left:2px;border-left:1px solid}.badge-corner[data-side-x=right]{right:2px;border-right:1px solid}.badge-corner[data-side-y=top]{top:2px;border-top:1px solid}.badge-corner[data-side-y=bottom]{bottom:2px;border-bottom:1px solid}.badge-card:after{position:absolute;z-index:2;inset:0;background:linear-gradient(118deg,rgba(255,255,255,.36),transparent 24% 72%,rgba(133,171,191,.12));content:"";pointer-events:none}.badge-card:before{z-index:3;border-color:#354e5d33}.badge-photo-frame{background:#bacbd4}.badge-nameplate{color:#1d3140}.badge-nameplate-kicker{color:#233a49ad}.badge-nameplate strong{color:#172a37}.badge-years{border-bottom-color:#4e97b1b8;color:#315f73}.dossier-contact-row{border-bottom-color:#344d5c29;color:#293e4c}.dossier-contact-row svg{color:#477b91}.dossier-contact-row span{color:#203443a6}.dossier-contact-row strong{color:#203443}.dossier-contact-row[href]:hover strong{color:#397f9a}.dossier-timeline{color:#2c414f}.dossier-timeline:before{border-left-color:#2d43515c}.dossier-timeline-item{color:#42535d}.dossier-timeline-item:before{border-color:#dfe7eb;background:#62a6bf;box-shadow:0 0 0 1px #2b42508f}.dossier-timeline-item-muted:before{background:#dfe7eb}.dossier-timeline-date{color:#263b49}.dossier-timeline-heading h3{color:#477b91}.dossier-timeline-subtitle{color:#354c5a}.dossier-case h4,.dossier-case p strong{color:#263b49}@media(prefers-reduced-motion:reduce){.badge-resting-motion{animation:none;transform:translateY(8px)}.badge-pulled-card,.badge-card,.badge-corner{transition:none}}.dossier-name-block{align-self:stretch;border-bottom:1px solid rgba(48,45,39,.27);padding:0 0 16px}.dossier-name-block h2{margin:0;color:#1f1d19;font-size:clamp(30px,3.2vw,43px);font-weight:850;letter-spacing:.03em;line-height:1.1}.dossier-name-block p{margin-top:9px;color:#312e28;font-size:clamp(14px,1.38vw,18px);font-weight:650;letter-spacing:.015em}.dossier-contact-list{display:grid;width:100%;gap:0;padding-top:12px}.dossier-contact-row{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:11px;border-bottom:1px solid rgba(48,45,39,.16);padding:8px 0;color:#302e29;text-decoration:none}.dossier-contact-row svg{color:#8b6a0b}.dossier-contact-row div{display:grid;gap:3px;min-width:0}.dossier-contact-row span{color:#25231f9e;font-size:11px;font-weight:600;letter-spacing:.08em}.dossier-contact-row strong{color:#26241f;font-size:clamp(12px,1.06vw,14px);font-weight:600;line-height:1.55;overflow-wrap:anywhere}.dossier-contact-row[href]:hover strong{color:#946f08}.dossier-work{padding:clamp(24px,2.5vw,34px) clamp(28px,4vw,56px) clamp(25px,3vw,40px)}.dossier-work-heading .dossier-column-heading{border-bottom:0;padding-bottom:0}.dossier-timeline{position:relative;display:grid;gap:clamp(15px,1.6vw,21px);padding-left:25px}.dossier-timeline:before{position:absolute;top:8px;bottom:6px;left:5px;border-left:1px dashed rgba(45,42,35,.34);content:""}.dossier-timeline-item{position:relative;display:grid;gap:7px;color:#49453e;font-size:clamp(12px,1.02vw,14px);line-height:1.68}.dossier-timeline-item:before{position:absolute;top:8px;left:-26px;width:11px;height:11px;border:3px solid #ede8dc;border-radius:50%;background:#c9a11b;box-shadow:0 0 0 1px #2b282180;content:""}.dossier-timeline-item-muted:before{background:#ede8dc}.dossier-timeline-heading{position:relative;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:7px 20px;overflow:hidden}.dossier-timeline-heading:after{position:absolute;right:0;bottom:0;left:0;height:1px;background:linear-gradient(90deg,transparent,rgba(116,193,218,.72),transparent);content:"";opacity:0;transform:translate3d(-105%,0,0)}.dossier-timeline-item.is-active:before{border-color:#e8fafffa;background:#75b7cf;box-shadow:0 0 0 1px #2b42508f,0 0 12px #58b7d77a;animation:timeline-node-arrival .4s ease-out both}.dossier-timeline-item.is-active .dossier-timeline-heading:after{animation:timeline-heading-sweep .4s ease-out both}@keyframes timeline-node-arrival{0%{transform:scale(.6)}65%{transform:scale(1.22)}to{transform:scale(1)}}@keyframes timeline-heading-sweep{0%{opacity:0;transform:translate3d(-105%,0,0)}22%{opacity:.86}to{opacity:0;transform:translate3d(105%,0,0)}}.dossier-timeline-date{margin:0;color:#37342d;font-size:clamp(14px,1.48vw,20px);font-weight:800;letter-spacing:.04em}.dossier-timeline-heading h3{margin:0;color:#9a7608;font-size:clamp(15px,1.45vw,20px);font-weight:850;letter-spacing:.01em}.dossier-timeline-subtitle{margin:0;color:#514c42;font-family:Arial,sans-serif;font-size:clamp(15px,1.15vw,16px);font-weight:750;letter-spacing:0}.dossier-case{display:grid;gap:3px;margin-top:2px}.dossier-case h4{margin:0 0 1px;color:#4b473e;font-size:clamp(13px,1.1vw,15px);font-weight:800;letter-spacing:.025em}.dossier-case p,.dossier-internship-copy{margin:0;color:#59544b}.dossier-case p strong{color:#38352f;font-weight:750}.profile-dossier .badge-card:before{display:none}.profile-dossier .badge-corner{border-color:#4c8ba3b8}.profile-dossier .badge-nameplate,.profile-dossier .badge-nameplate-kicker,.profile-dossier .badge-nameplate strong,.profile-dossier .badge-years,.profile-dossier .dossier-timeline-date,.profile-dossier .dossier-timeline-heading h3,.profile-dossier .dossier-timeline-subtitle,.profile-dossier .dossier-case h4,.profile-dossier .dossier-case p,.profile-dossier .dossier-case p strong,.profile-dossier .dossier-internship-copy{color:#263b49}.profile-dossier .badge-years{border-bottom-color:#263b497a}.profile-dossier .dossier-timeline{gap:clamp(24px,2vw,30px)}.profile-dossier .dossier-timeline-item{gap:10px;line-height:1.78}.profile-dossier .dossier-timeline-heading{row-gap:10px}.profile-dossier .dossier-work-heading{margin-bottom:clamp(18px,1.8vw,24px)}.profile-dossier .dossier-timeline{--timeline-node-offset: clamp(14px, calc(1.25vw + 2px) , 20px)}.profile-dossier .dossier-timeline:before,.profile-dossier .dossier-timeline-item:before{top:var(--timeline-node-offset)}.profile-dossier .dossier-case{gap:6px;margin-top:4px}.dossier-work{isolation:isolate}.dossier-work:before,.dossier-work:after{position:absolute;content:"";pointer-events:none}.dossier-work:before{inset:8px -10px 8px 10px;z-index:-2;border:1px solid rgba(48,76,94,.3);background:repeating-linear-gradient(0deg,rgba(43,75,92,.035) 0 1px,transparent 1px 6px),linear-gradient(145deg,#d0dfe7fa,#b9ccd6eb);box-shadow:0 5px #314c5b38,0 12px 22px #1f34421f;clip-path:polygon(.5% 2%,10% 2.8%,10.8% 1.3%,22% 3%,22.8% 1.5%,37% 2.7%,37.8% 1.1%,53% 3%,53.8% 1.4%,69% 2.8%,69.8% 1.2%,85% 3%,85.8% 1.4%,99.5% 2%,99.1% 97%,87% 96%,86.2% 98%,71% 96.5%,70.2% 98.5%,54% 96.4%,53.2% 98.2%,38% 96.5%,37.2% 98.4%,21% 96.2%,20.2% 98%,.4% 96.5%);transform:rotate(.35deg) translate(5px,2px)}.dossier-work:after{inset:3px -4px 5px 4px;z-index:-1;border:1px solid rgba(44,72,89,.21);background:linear-gradient(180deg,#eff5f7e0,#e2ecf0bd);clip-path:polygon(.3% 1.5%,13% 2.6%,13.8% 1%,28% 2.5%,28.7% 1.2%,44% 2.8%,44.8% 1.1%,61% 2.6%,61.8% 1%,78% 2.6%,78.8% 1.1%,99.7% 2%,99.4% 98%,81% 96.8%,80.2% 98.7%,63% 97%,62.3% 98.8%,46% 97%,45.2% 98.7%,29% 96.8%,28.2% 98.6%,13% 97%,12.2% 98.7%,.5% 97.4%);transform:rotate(-.24deg) translate(2px,-2px)}.profile-dossier .dossier-work-heading .dossier-column-heading>p{display:inline-block;border-left:0;clip-path:polygon(0 0,100% 0,100% 100%,12px 100%,0 76%);background:linear-gradient(105deg,#314b5b,#223847 74%,#30495a);color:#e4eff3;padding:7px 13px 8px;text-shadow:0 1px 1px rgba(0,0,0,.22);transform:rotate(-.35deg)}.profile-dossier .dossier-work-heading .dossier-column-heading>p span{color:#e4eff3d6}.profile-dossier .dossier-work-heading .dossier-record-number{border:1px solid rgba(47,75,91,.18);background:#e1ebefad;padding:4px 7px;transform:rotate(1deg)}.profile-dossier .dossier-timeline-item:before{background:#7ba9bb}.profile-dossier .dossier-timeline-item-muted:before{background:#dfe7eb}.profile-dossier .dossier-timeline-date{border-bottom:0;padding:0}.profile-dossier .dossier-timeline-item:nth-child(2):before{top:8px}.profile-dossier .dossier-timeline-heading h3{border:1px solid rgba(65,101,121,.21);background:#c6d7e070;padding:5px 10px;clip-path:polygon(1% 4%,99% 0,100% 91%,3% 100%);transform:rotate(.55deg)}.profile-dossier .dossier-case h4{width:-moz-fit-content;width:fit-content;border-left:3px solid #6395ac;background:linear-gradient(90deg,rgba(75,114,133,.11),transparent);padding:2px 8px;letter-spacing:.045em}@media(max-width:900px){.profile-dossier{grid-template-columns:minmax(245px,.78fr) minmax(0,1.22fr)}.dossier-identity{padding-right:22px;padding-left:22px}.dossier-work{padding-right:28px;padding-left:32px}.dossier-record-number{display:none}}@media(max-width:700px){.profile-dossier{grid-template-columns:minmax(0,1fr);margin-top:14px}.profile-dossier:after{background:linear-gradient(225deg,transparent 0 46%,rgba(74,65,49,.16) 47% 49%,rgba(255,255,255,.48) 50% 54%,transparent 55%) top right / 40px 40px no-repeat,linear-gradient(45deg,transparent 0 46%,rgba(74,65,49,.13) 47% 49%,rgba(255,255,255,.38) 50% 54%,transparent 55%) bottom left / 32px 32px no-repeat,linear-gradient(90deg,rgba(57,50,39,.18),rgba(255,255,255,.12) 3px,transparent 15px,transparent calc(100% - 15px),rgba(57,50,39,.15)),linear-gradient(180deg,rgba(255,255,255,.28),transparent 26px,transparent calc(100% - 28px),rgba(57,50,39,.1))}.profile-dossier:before{inset:8px}.dossier-identity{border-right:0;border-bottom:1px solid rgba(48,45,39,.25);padding:22px 26px 18px}.dossier-column-heading{gap:6px}.dossier-column-heading>p{font-size:clamp(14px,4vw,18px)}.dossier-record-number{display:block;font-size:7px}.dossier-portrait{width:min(64%,220px);margin:21px auto 16px}.dossier-name-block{text-align:center}.dossier-work{padding:26px 26px 32px}.dossier-timeline{gap:26px}.dossier-timeline-heading{display:grid;justify-content:start}}.copy-lines{display:grid;gap:var(--spacing-8)}.copy-lines span,.filter-options i,.text-placeholder i{display:block;height:var(--spacing-8);border-radius:var(--radius-pills);background:var(--color-sand-wash)}.copy-lines span:nth-child(1){width:92%}.copy-lines span:nth-child(2){width:78%}.copy-lines span:nth-child(3){width:64%}.text-placeholder{display:grid;gap:var(--spacing-8);width:100%}.text-placeholder i:nth-child(1){width:88%}.text-placeholder i:nth-child(2){width:64%}.summary-content{position:relative;display:grid;grid-template-columns:calc(var(--spacing-48) * 2 + var(--spacing-4)) 1fr;gap:var(--spacing-24);align-items:center;width:-moz-fit-content;width:fit-content;border:1px solid var(--theme-border);border-radius:var(--radius-3xl);background:var(--content-card-bg);box-shadow:var(--content-card-shadow);padding:var(--card-padding);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.summary-content .media-frame{width:calc(var(--spacing-48) * 2 + var(--spacing-4));min-height:auto;aspect-ratio:1;will-change:transform}.summary-content .media-frame img{-o-object-fit:contain;object-fit:contain}.summary-copy{display:grid;gap:var(--text-stack-gap)}#about,#experience{scroll-margin-top:calc(var(--spacing-56) + var(--spacing-48))}.profile-intro-section,.experience-section{border-bottom:1px solid var(--theme-border);padding:clamp(64px,9vw,112px) 0}.profile-intro-section{display:grid;min-height:calc(100svh - 112px);align-items:center;padding:clamp(28px,5vh,52px) 0}.profile-intro-layout{position:relative;display:grid;grid-template-columns:minmax(0,1.03fr) minmax(360px,.97fr);gap:var(--spacing-20);perspective:1400px}.profile-intro-impact{position:absolute;top:18%;bottom:18%;left:50%;z-index:4;width:2px;border-radius:999px;background:linear-gradient(180deg,transparent,rgba(143,232,255,.96) 42%,rgba(125,92,255,.96) 58%,transparent);box-shadow:0 0 12px #8fe8ffe6,0 0 34px #7d5cffa8;opacity:0;pointer-events:none;transform:translate(-50%);transform-origin:center}.profile-intro-pane{position:relative;min-height:clamp(520px,calc(100svh - 190px),680px);overflow:hidden;border:1px solid rgba(215,226,234,.13);border-radius:clamp(24px,2.4vw,34px);background:linear-gradient(180deg,#2a2b32d1,#0c0d11f5);box-shadow:var(--content-card-shadow)}.profile-intro-copy{display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(30px,4vw,58px)}.profile-intro-copy:before{position:absolute;top:-22%;right:-8%;width:min(70%,440px);aspect-ratio:1;border:1px solid rgba(143,232,255,.12);border-radius:50%;box-shadow:0 0 90px #7454ff1f inset;content:""}.profile-intro-kicker,.home-section-heading>p,.experience-card-eyebrow{color:var(--theme-accent);font-size:var(--text-caption);font-weight:var(--font-weight-w450);letter-spacing:.13em;line-height:var(--leading-caption)}.profile-intro-title{display:grid;gap:var(--spacing-8);margin:clamp(72px,10vw,132px) 0 var(--spacing-24);text-transform:uppercase}.profile-intro-title span:first-child{background:linear-gradient(180deg,#fff,#87949e);background-clip:text;color:transparent;font-size:clamp(68px,8vw,118px);font-weight:900;letter-spacing:-.06em;line-height:.86;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.profile-intro-title span:last-child{color:#d7e2ead6;padding-top:10px;font-size:24px;font-weight:var(--font-weight-medium);letter-spacing:-.04em;line-height:1}.profile-intro-about{max-width:640px;color:#d7e2ea;font-size:clamp(16px,1.35vw,20px);letter-spacing:-.02em;line-height:1.72;white-space:pre-wrap}.profile-intro-about-char{opacity:.3}.profile-intro-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-8);margin-top:var(--spacing-24)}.profile-intro-tags span{border:1px solid rgba(215,226,234,.14);border-radius:999px;background:#ffffff0a;color:#d7e2eabd;padding:8px 13px;font-size:var(--text-caption)}.profile-intro-visual{isolation:isolate;transform-style:preserve-3d;transition:box-shadow .32s ease;will-change:transform}.profile-intro-visual:hover{box-shadow:0 30px 74px #0000006b,0 0 42px #8fe8ff1f}.profile-intro-visual:after{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,transparent 42%,rgba(5,7,11,.2) 62%,rgba(5,7,11,.96) 100%);content:"";pointer-events:none}.profile-photo-gallery{position:absolute;inset:0;z-index:0;perspective:1100px}.profile-photo-gallery-control,.profile-photo-gallery-flipper{width:100%;height:100%;transform-style:preserve-3d}.profile-photo-gallery-control{cursor:pointer;outline:none}.profile-photo-gallery-control:focus-visible{box-shadow:0 0 0 2px var(--theme-focus-ring) inset}.profile-photo-gallery-flipper{position:relative;will-change:transform}.profile-photo-gallery-image{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;backface-visibility:hidden;filter:saturate(.86) contrast(1.04);pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-backface-visibility:hidden}.profile-photo-gallery-back{transform:rotateY(180deg)}.profile-intro-orbit,.profile-intro-orbit span{position:absolute;border:1px solid rgba(143,232,255,.2);border-radius:50%}.profile-intro-orbit{top:8%;right:6%;z-index:2;width:clamp(120px,14vw,210px);aspect-ratio:1;box-shadow:0 0 54px #7454ff29}.profile-intro-orbit span:first-child{inset:16%}.profile-intro-orbit span:last-child{inset:38%;background:#8fe8ff1f;box-shadow:0 0 28px #8fe8ff38}.profile-intro-facts{position:absolute;right:clamp(18px,3vw,34px);bottom:clamp(18px,3vw,34px);left:clamp(18px,3vw,34px);z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid rgba(215,226,234,.14);border-radius:var(--radius-2xl);background:#05070b94;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.profile-intro-facts div{display:grid;gap:5px;padding:16px}.profile-intro-facts div+div{border-left:1px solid rgba(215,226,234,.12)}.profile-intro-facts span{color:#d7e2ea7a;font-size:12px}.profile-intro-facts strong{color:var(--theme-foreground);font-size:clamp(14px,1.1vw,17px);font-weight:var(--font-weight-medium)}.home-section-heading{display:grid;justify-items:center;gap:var(--spacing-12);margin-bottom:clamp(34px,5vw,64px);text-align:center}.home-section-heading h2{background:linear-gradient(180deg,#fff,#8998a4);background-clip:text;color:transparent;font-size:clamp(56px,7vw,96px);font-weight:900;letter-spacing:-.06em;line-height:.9;text-transform:uppercase;-webkit-background-clip:text;-webkit-text-fill-color:transparent}#featured-projects .home-section-heading h2,#contact .home-section-heading h2{font-size:clamp(32px,5.44vw,48px)}.experience-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-20);width:100%;max-width:1120px;margin:0 auto}.experience-card{position:relative;min-height:0;overflow:hidden;border:1px solid rgba(215,226,234,.13);border-radius:clamp(24px,2.2vw,32px);background:linear-gradient(180deg,#1d1e23f0,#0c0d11fa);box-shadow:var(--content-card-shadow);transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease}.experience-card:before{position:absolute;inset:0;background:radial-gradient(circle at 50% -10%,rgba(143,232,255,.14),transparent 48%);content:"";pointer-events:none}.experience-card--education:before{background:radial-gradient(circle at 12% -8%,rgba(116,84,255,.2),transparent 48%)}.experience-card:hover{border-color:#d7e2ea29;box-shadow:0 24px 56px #00000047;transform:translateY(-3px)}.experience-card-art{position:relative;height:clamp(230px,27vw,320px);overflow:hidden;margin-bottom:-44px}.experience-card-art:after{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,transparent 18%,rgba(12,13,17,.34) 48%,rgba(12,13,17,.82) 74%,#0c0d11 100%);content:"";pointer-events:none}.experience-card-cover-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1)}.experience-card:hover .experience-card-cover-image{transform:scale(1.035)}.experience-card-index{position:absolute;top:var(--spacing-20);right:var(--spacing-20);z-index:2;color:#ffffff8f;font-size:46px;font-weight:900;line-height:.82}.experience-card-copy{position:relative;z-index:2;display:grid;gap:var(--spacing-16);padding:18px clamp(24px,2.5vw,36px) clamp(28px,3vw,42px)}.experience-card-copy h3{color:var(--theme-foreground);font-size:clamp(28px,2.4vw,36px);font-weight:var(--font-weight-medium);letter-spacing:-.04em;line-height:1}.experience-card-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--spacing-8);border:1px solid rgba(143,232,255,.12);border-radius:12px;background:linear-gradient(90deg,#8fe8ff13,#7454ff0b);padding:13px 14px}.experience-card-meta span{color:#e0ebf2d1;font-size:14px;font-weight:var(--font-weight-w450)}.experience-card-meta span:first-child{color:var(--theme-accent)}.experience-card-meta span:last-child{display:inline-flex;align-items:center;border:1px solid rgba(143,232,255,.22);border-radius:999px;background:#8fe8ff1c;color:#e7fbff;padding:6px 10px;font-size:15px;font-weight:var(--font-weight-medium);letter-spacing:.01em;box-shadow:0 0 22px #8fe8ff14}.experience-card-detail{color:#d7e2eaad;font-size:var(--text-body-sm);line-height:1.68}.contact-block{padding:clamp(64px,9vw,112px) 0;border-bottom:1px solid var(--theme-border);scroll-margin-top:calc(var(--spacing-56) + var(--spacing-48))}.contact-section{position:relative;display:flex;min-height:clamp(500px,68svh,680px);align-items:center;overflow:hidden;border:0;border-radius:0;background:#0b1a26;box-shadow:none;isolation:isolate}.contact-section-bg,.contact-section-shade{position:absolute;inset:-5%}.contact-section-bg{z-index:-3;width:110%;height:110%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;filter:brightness(.22) saturate(.62) contrast(1.12) hue-rotate(8deg);opacity:.6;display:none}.contact-section-shade{z-index:-2;background:transparent}.contact-section-content{position:relative;z-index:1;display:flex;width:100%;min-height:inherit;align-items:center;padding:0}.contact-rows{position:relative;display:block;width:100%;min-height:inherit;isolation:isolate}.contact-copy-card{position:relative;z-index:1;display:flex;min-height:0;align-items:flex-start;gap:14px;box-sizing:border-box;width:-moz-fit-content;width:fit-content;max-width:min(90%,330px);border:1px solid rgba(166,220,235,.28);border-radius:16px;background:linear-gradient(140deg,#07111ccc,#0b182594);box-shadow:inset 0 1px #e6f9ff17,0 16px 38px #0000003d;color:#ebf3f8eb;padding:16px 18px;text-align:left;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.contact-copy-card:before{content:none}.contact-copy-card:hover,.contact-copy-card:focus-within{transform:translateY(-2px);border-color:#8fe8ff9e;box-shadow:inset 0 1px #e6f9ff1f,0 18px 42px #00000052,0 0 24px #51c5e01f}.contact-rows[data-mailbox-open=true] .contact-email-card{transform:translateY(-2px) scale(1.1);transform-origin:left bottom}.contact-rows[data-phone-open=true] .contact-phone-card{transform:translateY(-2px) scale(1.1);transform-origin:right bottom}.contact-card-symbol{display:grid;width:38px;height:38px;flex:0 0 auto;place-items:center;border:1px solid rgba(205,237,249,.45);border-radius:50%;background:#0a17246b;color:#e4f6fdeb;box-shadow:0 0 16px #4fbdda1f}.contact-card-copy{display:grid;min-width:0;gap:6px}.contact-card-eyebrow{color:#bfdeeab8;font-size:11px;font-weight:700;letter-spacing:.16em}.contact-address{width:-moz-fit-content;width:fit-content;max-width:100%;border:0;background:none;color:#f4f8fb;font-size:clamp(15px,1.35vw,18px);font-weight:650;letter-spacing:0;line-height:1.45;text-align:left;overflow-wrap:anywhere;-webkit-user-select:text;-moz-user-select:text;user-select:text;cursor:copy;transition:color .18s ease,text-shadow .18s ease,background .22s ease,border-color .22s ease,padding .22s ease,transform .22s ease}.contact-address:hover,.contact-address:focus-visible,.contact-rows[data-active=email] .contact-email-address,.contact-rows[data-active=phone] .contact-phone-address{color:#b7f2ff;text-shadow:0 0 18px rgba(115,220,243,.28)}.contact-address:focus-visible,.contact-card-action:focus-visible,.contact-mailbox-trigger:focus-visible{outline:2px solid #9cecff;outline-offset:4px}.contact-card-note{width:-moz-fit-content;width:fit-content;border:0;border-bottom:1px solid rgba(143,232,255,.36);border-radius:0;background:transparent;color:#d2f0f8cc;padding:0 0 3px;font-size:11px;letter-spacing:.04em}.contact-card-action{display:inline-flex;width:-moz-fit-content;width:fit-content;justify-self:start;min-height:0;align-items:center;gap:6px;border:1px solid rgba(143,232,255,.26);border-radius:999px;background:#0b1b2aa3;color:#e0f3f9d1;max-height:0;overflow:hidden;padding:0 12px;font-size:12px;letter-spacing:.04em;text-decoration:none;opacity:0;pointer-events:none;transform:translateY(5px);transition:color .18s ease,background .18s ease,border-color .18s ease,transform .22s ease,opacity .18s ease,max-height .22s ease,min-height .22s ease}.contact-card-action:hover{transform:translateY(-1px);border-color:#8fe8ffa3;background:#1e4c639e;color:#d8f9ff}.contact-card-actions{display:flex;flex-wrap:wrap;gap:8px}.contact-rows[data-phone-open=true] .contact-phone-card .contact-card-action,.contact-rows[data-mailbox-open=true] .contact-email-card .contact-card-action{min-height:36px;max-height:40px;border-color:#8fe8ff80;opacity:1;pointer-events:auto;transform:translateY(0)}.contact-copy-status{display:inline-flex;min-height:0;align-items:center;gap:5px;color:#a9f2ff;font-size:11px;line-height:1.4}.contact-art{position:absolute;inset:0;display:block;min-height:0;perspective:1100px;z-index:0;background:radial-gradient(ellipse 70% 88% at 50% 46%,#16465a,#0d2b3a 66%,#0b1a26)}.contact-art-extended-backdrop{position:absolute;z-index:0;inset:-28px;background:url(/assets/contact/telephone-scene-expanded.png) center / cover no-repeat;filter:blur(28px) brightness(.56) saturate(1.16);transform:scale(1.06);opacity:.68;transition:opacity .76s ease;pointer-events:none}.contact-section.is-arrived .contact-art-extended-backdrop{opacity:.86}@media(pointer:fine){.contact-art:has(.contact-phone-trigger:hover) .contact-phone-light{opacity:.18;transform:translate(0) scaleX(.72)}.contact-rows[data-phone-open=true] .contact-art:has(.contact-phone-trigger:hover) .contact-phone-light{opacity:1;transform:translate(0) scaleX(1.08)}}.contact-art-image{position:absolute;z-index:1;top:0;left:50%;display:block;width:auto;height:100%;max-width:none;transform:translate(-50%);-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center;filter:saturate(1.2) contrast(1.05) brightness(1.24);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 14%,#000 86%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 14%,#000 86%,transparent 100%);transition:filter .22s ease}.contact-art-color-grade{position:absolute;z-index:1;inset:0;background:transparent;mix-blend-mode:normal;pointer-events:none}.contact-phone-light{position:absolute;z-index:3;top:27%;left:52.8%;width:4.5%;height:50%;opacity:0;transform:translate(2px) scaleX(.4);transform-origin:left center;background:linear-gradient(90deg,#b1f6ffb8,#5dceef52 22%,#2679aa05),radial-gradient(ellipse at 0 50%,rgba(152,238,255,.42),transparent 72%);filter:blur(6px);transition:opacity .42s ease,transform .52s cubic-bezier(.2,.72,.25,1);pointer-events:none}.contact-phone-light:after{position:absolute;right:-70%;bottom:-4%;left:-18%;height:13%;border-radius:50%;background:radial-gradient(ellipse,rgba(151,237,255,.56),rgba(47,152,195,.2) 38%,transparent 74%);filter:blur(9px);content:""}.contact-rows[data-phone-open=true] .contact-phone-light{opacity:1;transform:translate(0) scaleX(1)}.contact-rows[data-active=phone] .contact-art-image,.contact-rows[data-active=email] .contact-art-image{filter:saturate(1.22) contrast(1.05) brightness(1.27)}.contact-copy-card--email{position:absolute;left:clamp(72px,9vw,150px);bottom:18%}.contact-copy-card--phone{position:absolute;top:auto;bottom:18%;right:clamp(120px,14vw,220px);transform-origin:right bottom}.contact-email-address{font-size:clamp(13px,1.25vw,16px)}.contact-art:after{position:absolute;right:24%;bottom:4%;left:24%;height:10%;border-radius:50%;background:#4cb5d129;filter:blur(24px);content:""}.contact-door-image{position:absolute;z-index:4;inset:0;background:url(/assets/contact/telephone-scene-generated.png) center / auto 100% no-repeat;clip-path:polygon(53% 24.7%,62.4% 25.8%,62.4% 78.1%,53.2% 77.2%);opacity:0;transform-style:preserve-3d;transition:opacity .18s ease,transform .38s cubic-bezier(.2,.72,.25,1),filter .24s ease;pointer-events:none}.contact-phone-door{transform-origin:62.4% 52%}.contact-phone-opening{background-image:url(/assets/contact/telephone-scene-open.webp)}.contact-phone-opening:after{position:absolute;inset:25% 31% 21% 38%;border-radius:50%;background:radial-gradient(ellipse at 0 50%,rgba(182,244,255,.84),rgba(77,195,225,.18) 44%,transparent 72%);content:"";opacity:0;pointer-events:none}.contact-rows[data-phone-open=true] .contact-phone-door,.contact-rows[data-phone-open=true] .contact-phone-opening{opacity:1}.contact-rows[data-phone-open=true] .contact-phone-opening:after{animation:phone-door-light .62s cubic-bezier(.16,1,.3,1) both}@keyframes phone-door-light{0%{opacity:0;transform:translate3d(-10%,0,0) scaleX(.28)}38%{opacity:.88}to{opacity:0;transform:translate3d(36%,0,0) scaleX(1.18)}}@media(max-width:899px),(prefers-reduced-motion:reduce){.night-route{display:none}.project-card.is-revealed:before,.dossier-timeline-item.is-active:before,.dossier-timeline-item.is-active .dossier-timeline-heading:after,.contact-rows[data-phone-open=true] .contact-phone-opening:after{animation:none}}.contact-rows[data-phone-open=true] .contact-phone-door{transform:rotateY(34deg);filter:drop-shadow(5px 4px 9px rgba(1,7,12,.62))}.contact-mailbox-trigger{position:absolute;z-index:5;inset:0;width:100%;height:100%;border:0;border-radius:0;background:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;clip-path:polygon(36.8% 56%,43.1% 57.5%,43.2% 79.5%,37.1% 78.2%);box-shadow:none;cursor:pointer;transition:filter .24s ease,background-color .24s ease}.contact-letter{position:absolute;z-index:6;top:59%;left:35.1%;width:clamp(34px,4.4%,56px);height:clamp(23px,3.6%,36px);border:1px solid rgba(194,235,246,.78);border-radius:3px;background:linear-gradient(145deg,#e8f2f4,#9bb8c3 58%,#dce9ed);box-shadow:0 5px 14px #0000006b,inset 0 1px #ffffffb8;opacity:0;transform:translateY(1px) scale(.78) rotate(7deg);transform-origin:center bottom;transition:opacity .18s ease,transform .36s cubic-bezier(.18,.78,.24,1);pointer-events:none}.contact-letter:after{position:absolute;top:2px;right:3px;left:3px;height:45%;border-bottom:1px solid rgba(26,64,83,.38);background:linear-gradient(135deg,transparent 48%,rgba(47,98,117,.36) 49%,transparent 51%),linear-gradient(225deg,transparent 48%,rgba(47,98,117,.36) 49%,transparent 51%);content:""}.contact-rows[data-mailbox-open=true] .contact-letter{opacity:1;transform:translateY(-30px) scale(1.04) rotate(-7deg);transition-delay:.14s}.contact-rows[data-mailbox-open=true] .contact-email-address{color:#b7f2ff;text-shadow:0 0 20px rgba(115,220,243,.36)}.contact-rows[data-mailbox-open=true] .contact-email-card{background:radial-gradient(ellipse at 18% 0%,rgba(84,193,221,.16),transparent 58%),linear-gradient(140deg,#081725f0,#0c2231e0);border-color:#8fe8ff94;box-shadow:inset 0 1px #e6f9ff1f,0 16px 40px #0000004d,0 0 28px #51c5e01c}.contact-rows[data-phone-open=true] .contact-phone-card{background:radial-gradient(ellipse at 100% 0%,rgba(84,193,221,.17),transparent 56%),linear-gradient(140deg,#081725f0,#0c2231e6);border-color:#8fe8ff9e;box-shadow:inset 0 1px #e6f9ff24,0 18px 42px #00000052,0 0 30px #51c5e024}.contact-phone-address{transition:color .18s ease,text-shadow .18s ease,transform .22s ease;transform-origin:left center}.contact-rows[data-phone-open=true] .contact-phone-address,.contact-rows[data-mailbox-open=true] .contact-email-address{color:#d8f8ff;text-shadow:0 0 18px rgba(115,220,243,.32);transform:none}.contact-rows[data-phone-open=true] .contact-phone-card .contact-card-note{border:0;border-radius:0;background:transparent;padding:0}.contact-rows[data-phone-open=true] .contact-phone-address{font-size:clamp(18px,1.75vw,22px);font-weight:800;letter-spacing:.025em}.contact-rows[data-mailbox-open=true] .contact-email-address{font-size:clamp(15px,1.45vw,18px);font-weight:750;letter-spacing:-.015em}.contact-rows[data-phone-open=true] .contact-card-note{border:1px solid rgba(143,232,255,.28);border-radius:999px;background:#4289a31f;padding:3px 8px}.contact-copy-card--phone:after,.contact-copy-card--email:after{position:absolute;top:17px;right:17px;color:#a5d9e794;font-size:8px;font-weight:750;letter-spacing:.16em;opacity:0;transform:translateY(3px);transition:opacity .22s ease,transform .22s ease}.contact-copy-card--phone:after{content:none}.contact-copy-card--email:after{content:none}.contact-rows[data-phone-open=true] .contact-copy-card--phone:after,.contact-rows[data-mailbox-open=true] .contact-copy-card--email:after{opacity:1;transform:translateY(0)}.contact-phone-trigger{position:absolute;z-index:5;inset:0;width:100%;height:100%;border:0;border-radius:0;background:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;clip-path:polygon(53% 24.7%,62.4% 25.8%,62.4% 78.1%,53.2% 77.2%);cursor:pointer;transition:filter .24s ease}.contact-phone-trigger:focus-visible,.contact-mailbox-trigger:focus-visible{outline:none;filter:drop-shadow(0 0 3px #9cecff) drop-shadow(0 0 8px rgba(105,221,247,.48))}.contact-rows[data-active=email] .contact-mailbox-trigger,.contact-mailbox-trigger:hover,.contact-mailbox-trigger:focus-visible{filter:drop-shadow(0 0 8px rgba(105,221,247,.3))}.contact-rows[data-mailbox-open=true] .contact-mailbox-trigger{background:#68dbf917;filter:drop-shadow(0 0 9px rgba(105,221,247,.56))}.contact-rows[data-active=email] .contact-mailbox-trigger,.contact-mailbox-trigger:hover,.contact-mailbox-trigger:focus-visible{background:#68dbf914}@media(prefers-reduced-motion:reduce){.contact-copy-card,.contact-address,.contact-card-action,.contact-art-image,.contact-door-image,.contact-mailbox-trigger,.contact-phone-trigger,.contact-mailbox-affordance,.contact-letter{transition-duration:.01ms}}.bottom-cta{padding-bottom:var(--spacing-56);grid-template-columns:repeat(2,minmax(0,1fr))}.filter-panel{display:grid;border:1px solid var(--theme-border);border-radius:var(--radius-cards);background:var(--theme-card)}.filter-row{display:grid;grid-template-columns:minmax(6em,.22fr) 1fr auto;gap:var(--spacing-24);align-items:center;padding:var(--spacing-20) var(--spacing-24);border-bottom:1px solid var(--theme-border)}.filter-row:last-child{border-bottom:0}.filter-row>span{font-size:var(--text-body-sm);font-weight:var(--font-weight-w450);letter-spacing:var(--tracking-body-sm);line-height:var(--leading-body-sm)}.filter-options{display:grid;grid-template-columns:repeat(4,minmax(var(--spacing-48),1fr));gap:var(--spacing-24)}.select-control{display:inline-flex;align-items:center;gap:var(--spacing-8);border:1px solid var(--theme-border);border-radius:var(--radius-links);background:var(--theme-card);color:var(--theme-foreground);padding:var(--spacing-8) var(--spacing-12);font-size:var(--text-body-sm);font-weight:var(--font-weight-w450);letter-spacing:var(--tracking-body-sm);line-height:var(--leading-body-sm);transition:border-color .16s ease,color .16s ease,background .16s ease}.select-control:hover{border-color:var(--theme-accent);background:var(--theme-accent-soft);color:var(--theme-accent)}.project-list{display:grid;gap:var(--spacing-16)}.project-row{display:grid;grid-template-columns:minmax(72px,.14fr) minmax(120px,.2fr) repeat(3,minmax(100px,1fr)) auto;gap:var(--spacing-24);align-items:center;padding:var(--spacing-16)}.project-row .media-frame{min-height:calc(var(--spacing-56) + var(--spacing-32))}.info-column{display:grid;gap:var(--text-stack-gap);min-width:0}.info-column p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.detail-toolbar{padding:var(--spacing-24) 0 0}.back-to-top-button{position:fixed;right:clamp(18px,3vw,42px);bottom:clamp(18px,3vw,38px);z-index:40;display:grid;width:56px;height:56px;place-items:center;border:1px solid rgba(143,232,255,.42);border-radius:50%;background:radial-gradient(circle at 35% 28%,rgba(143,232,255,.18),transparent 42%),#0a0c14c7;color:var(--theme-accent);box-shadow:0 14px 42px #00000061,0 0 26px #7454ff1f;opacity:0;visibility:hidden;pointer-events:none;cursor:pointer;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transition:border-color .22s ease,background-color .22s ease,box-shadow .22s ease;will-change:transform,opacity}.back-to-top-button:hover{border-color:#8fe8ffc7;background-color:#141726e0;box-shadow:0 18px 48px #00000070,0 0 34px #7454ff33}.back-to-top-button svg{filter:drop-shadow(0 0 8px rgba(143,232,255,.34))}.detail-page{padding-top:clamp(112px,11vw,144px)}.detail-overview{padding-top:var(--spacing-24)}.overview-grid{position:relative;display:grid;grid-template-columns:minmax(260px,.4fr) 1fr;gap:var(--spacing-48);align-items:start;border:1px solid var(--theme-border);border-radius:var(--radius-3xl);padding:var(--spacing-24);background:#ffffff0b;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.overview-grid .media-frame-large{align-self:center;aspect-ratio:16 / 9;min-height:auto}.overview-copy{display:grid;gap:var(--spacing-20)}.overview-copy h1{background:linear-gradient(180deg,#f6fbff,#bbccd7 58%,#646973);background-clip:text;color:transparent;font-size:clamp(36px,4.5vw,48px);font-weight:900;letter-spacing:0;line-height:.95;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.detail-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--theme-border);border-bottom:0;border-left:0}.detail-fact{display:grid;gap:var(--text-stack-gap);padding:var(--spacing-16);border-bottom:1px solid var(--theme-border);border-left:1px solid var(--theme-border)}.detail-showcase-image{position:relative;overflow:hidden;border:1px solid var(--theme-border);border-radius:var(--radius-3xl);background:var(--theme-card);box-shadow:var(--shadow-md)}.detail-showcase-list{display:grid;gap:var(--spacing-24)}.detail-showcase-image img{display:block;width:100%;height:auto;will-change:transform}.two-column-detail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:0}.detail-card{border-radius:0;box-shadow:none;padding:var(--spacing-24)}.detail-card h2{margin-bottom:var(--spacing-16);font-size:var(--text-body);font-weight:var(--font-weight-medium);line-height:var(--leading-body)}.detail-card ul{display:grid;gap:var(--spacing-8);padding-left:var(--spacing-20)}.detail-card li{font-size:var(--text-body-sm);font-weight:var(--font-weight-regular);letter-spacing:var(--tracking-body-sm);line-height:var(--leading-body-sm)}.process-chain{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--spacing-24)}.process-step{display:grid;grid-template-columns:1fr auto;gap:var(--spacing-16);align-items:center}.process-step article{min-height:calc(var(--spacing-56) + var(--spacing-32));border:1px solid var(--theme-border);border-radius:var(--radius-links);background:var(--theme-card);padding:var(--spacing-20)}.process-step:last-child{grid-template-columns:1fr}.process-step svg{color:var(--theme-accent)}.evidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-32)}.evidence-grid .info-column{min-height:calc(var(--spacing-56) + var(--spacing-32));padding:var(--spacing-24)}.contact-strip{display:flex;justify-content:center}.is-placeholder .media-frame img{display:none}@media(max-width:900px){.app-shell{padding:var(--spacing-16)}.cover-rain-drop:nth-child(n+8){display:none}.overview-grid,.summary-content,.two-column-detail,.evidence-grid,.profile-intro-layout{grid-template-columns:1fr}.profile-intro-impact{inset:50% 18% auto;width:auto;height:2px;background:linear-gradient(90deg,transparent,rgba(143,232,255,.96) 42%,rgba(125,92,255,.96) 58%,transparent);transform:translateY(-50%)}.profile-intro-pane{min-height:560px}.profile-intro-section{display:block;min-height:auto;padding:clamp(64px,9vw,112px) 0}.experience-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-grid{grid-template-columns:1fr}.related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-row{grid-template-columns:minmax(72px,.2fr) 1fr auto}.project-row .info-column{grid-column:2 / -1}.process-chain{grid-template-columns:1fr}.process-step,.process-step:last-child{grid-template-columns:1fr}.process-step svg{transform:rotate(90deg);justify-self:center}}@media(max-width:640px){.app-shell{padding:var(--spacing-8)}.cover-section{margin:calc(-1 * var(--spacing-8)) calc(-1 * var(--spacing-8)) var(--spacing-8)}.cover-nav-frame{top:var(--spacing-8);right:var(--spacing-8);left:var(--spacing-8);width:calc(100% - var(--spacing-16))}.cover-content{gap:var(--spacing-12);padding:0 var(--spacing-16)}.cover-title{font-size:clamp(40px,13vw,72px)}.cover-kicker{max-width:24em;letter-spacing:.18em}.site-header{align-items:flex-start;gap:var(--spacing-16)}.site-nav{flex-wrap:wrap;justify-content:flex-end;gap:var(--spacing-16)}.profile-intro-pane{min-height:500px}.profile-intro-copy{min-height:580px}.profile-intro-title{margin-top:64px}.profile-intro-facts div{padding:12px 10px}.experience-card-grid{grid-template-columns:1fr}.experience-card{min-height:auto}.experience-card-art{height:220px}.contact-section{min-height:820px}.contact-section-bg{-o-object-position:58% center;object-position:58% center}.contact-section-shade{background:transparent}.contact-section-content{align-self:stretch;padding:26px 16px}.contact-rows{min-height:820px}.contact-art{min-height:0}.contact-art-image{top:10.64%;left:50%;width:auto;height:72%;max-width:none;-o-object-fit:contain;object-fit:contain;transform:translate(-50%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 18%,#000 82%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 18%,#000 82%,transparent 100%)}.contact-door-image{inset:10.64% auto auto 50%;width:auto;height:72%;background-size:100% 100%;transform:translate(-50%)}.contact-copy-card--email{left:8px;bottom:196px;width:calc(100% - 16px)}.contact-copy-card{min-height:0;gap:10px;padding:14px}.contact-copy-card--phone{top:auto;right:8px;bottom:16px;width:calc(100% - 16px)}.contact-phone-trigger{clip-path:polygon(59.5% 28.5%,85% 29.3%,85.5% 66.8%,60% 66.2%)}.contact-phone-door{clip-path:polygon(59.5% 28.5%,85% 29.3%,85.5% 66.8%,60% 66.2%);transform-origin:85% 48%}.contact-rows[data-phone-open=true] .contact-phone-door{transform:translate(-50%) rotateY(34deg)}.contact-mailbox-trigger{clip-path:polygon(32.5% 50.5%,41.5% 52%,42% 68%,33% 67%)}.contact-phone-light{top:28.5%;left:59%;width:8%;height:38%}.contact-letter{top:61%;left:14%;width:46px;height:31px}.contact-mailbox-affordance{display:none}.contact-card-eyebrow,.contact-card-action,.contact-card-note{font-size:10px}.contact-card-symbol{width:32px;height:32px}.contact-card-copy{gap:5px;width:calc(100% - 42px)}.contact-card-eyebrow{font-size:9px}.contact-address{font-size:clamp(14px,4vw,17px);white-space:nowrap;letter-spacing:-.025em}.contact-card-note,.contact-card-action{font-size:10px}.contact-copy-status{font-size:9px}.section-header h2{font-size:min(64px,clamp(40px,14vw,64px))}.bottom-cta,.related-grid,.filter-row,.project-row{grid-template-columns:1fr}.filter-options{grid-template-columns:repeat(2,minmax(0,1fr))}.project-row .info-column{grid-column:auto}.project-card{min-height:0;padding:0}.project-card-media{background:#0b0c10}.project-card-media img{height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center top;object-position:center top}.detail-page{padding-top:128px}.back-to-top-button{right:16px;bottom:18px;width:50px;height:50px}.project-card h3{font-size:clamp(38px,11vw,52px)}.project-card-footer{align-items:flex-end}.detail-overview .section-header{flex-direction:column;align-items:flex-start}.detail-overview .text-action{align-self:flex-end}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cover-rain-drop.is-trail{display:none}.cover-rain-drop.is-bead{animation:none!important}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.page-transition-layer{position:fixed;inset:0;z-index:90;visibility:hidden;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 42%,rgba(77,66,143,.22),transparent 44%),linear-gradient(145deg,#090b12,#111022 55%,#080a10);will-change:clip-path,opacity}.home-section-heading h2,.profile-intro-title,.overview-copy h1,.project-card,.project-card-media img,.detail-showcase-image{will-change:transform,opacity}@media(prefers-reduced-motion:reduce){.page-transition-layer{display:none}.project-card,.project-card-media,.project-card-media img,.profile-photo-gallery,.profile-photo-gallery-control,.profile-photo-gallery-flipper,.experience-card-art,.contact-section-bg,.detail-showcase-image,.detail-showcase-image img{transform:none!important}}
