.text-type{display:inline-block;white-space:pre-wrap}.text-type__cursor{margin-left:.08em;display:inline-block;opacity:1;animation:text-type-blink var(--text-type-blink, .5s) ease-in-out infinite alternate}.text-type__cursor--hidden{display:none}@keyframes text-type-blink{0%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion: reduce){.text-type__cursor{animation:none}}.circular-text{margin:0 auto;border-radius:50%;position:relative;font-weight:900;text-align:center;transform-origin:50% 50%;-webkit-transform-origin:50% 50%;-webkit-user-select:none;-moz-user-select:none;user-select:none}.circular-text span{position:absolute;display:inline-block;left:0;right:0;top:0;bottom:0;transition:all .5s cubic-bezier(0,0,0,1)}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-mono-latin-400-normal-Rg4St2Dn.woff2) format("woff2"),url(/assets/space-mono-latin-400-normal-_3DlpgIW.woff) format("woff")}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-mono-latin-700-normal-mWgeinG7.woff2) format("woff2"),url(/assets/space-mono-latin-700-normal-D7A851RN.woff) format("woff")}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fraunces-latin-400-normal-6IfK1voy.woff2) format("woff2"),url(/assets/fraunces-latin-400-normal-NUPT2cO8.woff) format("woff")}*,: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:Poppins,Noto Sans SC,-apple-system,sans-serif;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}html{scroll-behavior:smooth}body{font-family:Poppins,Noto Sans SC,-apple-system,sans-serif;--tw-text-opacity: 1;color:rgb(122 18 37 / var(--tw-text-opacity, 1));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-moz-selection{background-color:#f5a9c666;--tw-text-opacity: 1;color:rgb(122 18 37 / var(--tw-text-opacity, 1))}::selection{background-color:#f5a9c666;--tw-text-opacity: 1;color:rgb(122 18 37 / var(--tw-text-opacity, 1))}a,button,label,select,summary,[role=button],input[type=checkbox],input[type=radio],input[type=range],.cursor-pointer.cursor-pointer{cursor:url(/cursor.png) 4 0,pointer}.hero-belief-label{display:inline-flex;align-items:center;width:-moz-max-content;width:max-content;margin:0 auto;padding:0;color:#c33f72;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--hero-belief-label-size);font-weight:950;line-height:1;letter-spacing:.14em;text-transform:uppercase;-webkit-text-stroke:.22px currentColor;text-shadow:1.5px 1.5px 0 rgba(122,18,37,.32),0 -1px 0 rgba(255,250,240,.72)}.hero-belief-label:after{content:none}.hero-belief-copy{max-width:760px;margin:10px auto 0;color:#7a1225;font-family:var(--hero-belief-copy-font);font-size:var(--hero-belief-copy-size);font-weight:400;line-height:1.38;letter-spacing:-.012em}@media (max-width: 520px){.hero-belief-copy{max-width:300px;margin-top:8px;line-height:1.42}}.hero-photo-pair{display:flex;justify-content:center;align-items:flex-start;gap:clamp(10px,3vw,24px);margin-top:clamp(28px,5vw,48px)}.hero-photo-card{position:relative;flex:0 1 clamp(148px,22vw,230px);width:clamp(148px,22vw,230px);min-width:0;padding:clamp(8px,1.25vw,12px)}.hero-photo-card--portrait{padding-bottom:clamp(34px,4.2vw,46px)}.hero-photo-card--work{padding-bottom:clamp(30px,3.8vw,42px)}@media (max-width: 420px){.hero-photo-pair{gap:10px}.hero-photo-card{flex-basis:calc(50% - 5px);width:calc(50% - 5px);max-width:176px;scale:.96}.hero-photo-card--portrait{rotate:-3.5deg}.hero-photo-card--work{rotate:4deg}}@media (min-width: 1280px){.hero-photo-pair{display:block;margin-top:0}.hero-photo-card{position:absolute;width:clamp(204px,16vw,var(--hero-photo-w));padding:clamp(12px,1vw,15px)}.hero-photo-card--portrait{z-index:4;top:6px;right:max(var(--hero-photo-bleed),calc((1280px - 100vw)/2));padding-bottom:clamp(44px,3.6vw,52px)}.hero-photo-card--work{z-index:2;bottom:40px;left:max(var(--hero-photo-bleed),calc((1280px - 100vw)/2));padding-bottom:clamp(40px,3.2vw,46px)}}.toolbox-wrap{width:min(1120px,94vw);margin:0 auto}.toolbox-heading{margin-bottom:34px}.toolbox-heading h2{margin-top:3px;color:#421d31;font-family:var(--heading-font);font-weight:900;line-height:.94;letter-spacing:-.035em}.toolbox-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);gap:clamp(34px,5vw,72px);align-items:center}.toolbox-machine-wrap{min-width:0}.toolbox-machine-stage{position:relative;aspect-ratio:3 / 2;filter:drop-shadow(15px 17px 0 rgba(135,74,81,.22)) drop-shadow(0 20px 24px rgba(54,37,42,.16))}.toolbox-machine-image{position:absolute;z-index:3;top:0;right:0;bottom:0;left:0;width:100%;height:100%;-o-object-fit:contain;object-fit:contain;pointer-events:none}.toolbox-reels{position:absolute;z-index:2;top:36.15%;left:21.72%;display:grid;grid-template-columns:repeat(3,1fr);gap:2.08%;width:52.25%;height:32.42%;overflow:hidden}.tool-reel{position:relative;min-width:0;overflow:hidden;background:linear-gradient(90deg,#e8e0d3,#fffaf0 15%,#fffdf7,#fffaf0 85%,#dfd5c7);perspective:260px}.tool-reel:after{position:absolute;z-index:4;top:0;right:0;bottom:0;left:0;content:"";pointer-events:none;background:linear-gradient(180deg,rgba(52,42,42,.3) 0%,rgba(79,65,64,.08) 20%,transparent 34%,transparent 66%,rgba(79,65,64,.08) 80%,rgba(52,42,42,.3) 100%);box-shadow:inset 6px 0 9px #3a2d2b1f,inset -6px 0 9px #3a2d2b1f}.tool-reel-track{position:absolute;top:0;right:0;bottom:0;left:0;transform:translateY(-19%)}.tool-reel-track.is-spinning{animation:toolbox-reel-spin .36s linear infinite;animation-delay:var(--reel-delay)}.tool-reel-item{display:grid;place-items:center;width:100%;height:46%;opacity:.34;filter:blur(.35px) saturate(.76);transform:rotateX(27deg) scale(.64);transition:opacity .18s ease,filter .18s ease,transform .18s ease}.tool-reel-item:nth-child(4n+2){z-index:2;opacity:1;filter:none;transform:rotateX(0) scale(.98)}.tool-reel-item:nth-child(4n+1){transform-origin:50% 100%}.tool-reel-item:nth-child(4n+3){transform-origin:50% 0}.tool-app-icon{position:relative;display:grid;place-items:center;width:clamp(34px,3.8vw,52px);aspect-ratio:1;padding:clamp(5px,.55vw,8px);overflow:hidden;border:1px solid rgba(54,43,47,.12);border-radius:23%;background:var(--app-bg);box-shadow:0 3px #4d3d4152,0 5px 7px #32222624,inset 0 1px #ffffffb8}.tool-app-icon:after{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(145deg,rgba(255,255,255,.24),transparent 46%);content:"";pointer-events:none}.tool-app-icon img{display:block;width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.toolbox-lever-button{position:absolute;z-index:5;top:23%;right:6.7%;width:8.5%;height:39%;border:0;border-radius:999px;background:transparent;transform-origin:50% 79%}.toolbox-lever-button:not(:disabled):hover{transform:rotate(4deg)}.toolbox-lever-button:active{transform:rotate(11deg) translateY(4px)}.toolbox-lever-button:focus-visible{outline:3px dashed #b8214a;outline-offset:3px}.toolbox-lever-tip{position:absolute;z-index:6;top:12.5%;right:-1%;display:grid;justify-items:center;border:0;background:transparent;color:#7a1225;transform:rotate(4deg);transform-origin:50% 100%;animation:toolbox-pull-hint 1.65s ease-in-out infinite}.toolbox-lever-tip span{padding:7px 10px 6px;border:2px solid #7a1225;background:#f08fb6;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(8px,.8vw,10px);font-weight:900;line-height:1;letter-spacing:.12em;white-space:nowrap;box-shadow:3px 3px #7a1225}.toolbox-lever-tip i{margin-top:3px;margin-right:18px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:23px;font-style:normal;font-weight:900;line-height:.8}.toolbox-lever-tip.is-spinning{opacity:.55;animation:none}.toolbox-lever-tip:focus-visible span{outline:3px dashed #b8214a;outline-offset:3px}.toolbox-spin-hint{display:block;margin:-5px auto 0;padding:8px 13px;border:2px solid #7a1225;background:#f08fb6;color:#55142a;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;font-weight:900;letter-spacing:.12em;box-shadow:4px 4px #7a1225;transform:rotate(-.7deg)}.toolbox-copy{color:#421d31}.toolbox-copy-kicker{display:flex;align-items:center;gap:9px;width:-moz-fit-content;width:fit-content;padding:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;font-weight:900;letter-spacing:.12em;color:#9f3d60}.toolbox-copy-kicker:before{width:8px;height:8px;border-radius:50%;background:#e96d86;box-shadow:0 0 0 4px #e96d8626;content:""}.toolbox-copy-kicker:after{width:clamp(30px,3.5vw,48px);height:1px;background:#7a12256b;content:""}.toolbox-copy h3{margin-top:27px;font-family:var(--heading-font);font-size:clamp(34px,4vw,53px);font-weight:900;line-height:1.05;letter-spacing:-.04em}.toolbox-copy>p:not(.toolbox-note){margin-top:20px;color:#421d31b8;font-size:15px;line-height:1.8}.toolbox-capabilities{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.toolbox-capabilities span{padding:7px 10px;border:1.5px solid rgba(122,18,37,.44);border-radius:999px;background:#fffaf2ad;color:#6f2948;font-size:11px;font-weight:700}@keyframes toolbox-reel-spin{0%{transform:translateY(-19%)}to{transform:translateY(-203%)}}@keyframes toolbox-pull-hint{0%,to{transform:translateY(0) rotate(4deg)}45%{transform:translateY(5px) rotate(1deg)}65%{transform:translateY(2px) rotate(5deg)}}@media (max-width: 820px){.toolbox-layout{grid-template-columns:1fr;gap:38px}.toolbox-machine-wrap{width:min(680px,100%);margin:0 auto}.toolbox-copy{max-width:560px}.toolbox-copy h3 br{display:none}}@media (max-width: 520px){.toolbox-heading{margin-bottom:22px}.toolbox-layout{gap:28px}.toolbox-machine-stage{width:100%;margin-left:0}.toolbox-copy h3{font-size:32px}.tool-logo-figma{grid-template-columns:repeat(2,14px);grid-template-rows:repeat(3,14px)}.tool-logo-python,.tool-logo-database,.tool-logo-cursor{transform:scale(.72)}.toolbox-lever-tip{top:8%;right:1%;transform:scale(.86);transform-origin:right top}.toolbox-lever-tip span{padding:5px 7px}.toolbox-lever-tip i{margin-right:12px;font-size:18px}}@media (prefers-reduced-motion: reduce){.tool-reel-track.is-spinning{animation-duration:.9s;animation-iteration-count:1}.toolbox-lever-tip{animation:none}}.portfolio-work-wrap{width:min(1160px,94vw)}.portfolio-work-wrap>header{margin-bottom:58px}.portfolio-work-wrap>header p{margin-top:16px;font-size:19px}.portfolio-category-title:first-of-type,.ai-web-browser{width:min(1020px,100%);margin-right:auto;margin-left:auto}.portfolio-category-title{display:flex;align-items:center;margin-bottom:18px;color:#421d31}.portfolio-category-title strong{display:inline-flex;align-items:center;min-height:38px;padding:8px 13px;border:2px solid #7a1225;background:#f08fb6;color:#55142a;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;font-weight:800;line-height:1;letter-spacing:.11em;box-shadow:4px 4px #7a1225;transform:rotate(-.5deg)}.ai-web-browser,.mini-program-lab,.skill-library-window{border:3px solid #641d44;box-shadow:13px 15px #7a12257a,0 28px 45px #27182438}.ai-web-browser{overflow:hidden;background:#f7b8d5}.ai-web-browser-tabs{display:flex;align-items:flex-end;min-height:50px;padding:8px 10px 0;border-bottom:2px solid #641d44;background:linear-gradient(90deg,#f8c9df,#ef95bf)}.ai-web-tab{display:flex;align-items:center;gap:8px;min-width:150px;padding:10px 14px 9px;border:2px solid transparent;border-bottom:0;color:#682344;font-size:13px;font-weight:900;opacity:.58}.ai-web-tab.is-active{border-color:#641d44;background:#fff9f1;opacity:1}.ai-web-tab-dot{width:9px;height:9px;border:1px solid #641d44;border-radius:50%}.ai-web-tab-close{margin-left:auto;font-family:monospace}.ai-web-toolbar{display:flex;align-items:center;gap:7px;padding:7px 10px;border-bottom:2px solid #641d44;background:#f7b8d5;color:#682344;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.ai-web-tool{display:grid;place-items:center;width:27px;height:25px;border:1.5px solid #743054;background:#ffe6f1;font-size:18px;font-weight:900}.ai-web-address{min-width:0;flex:1;padding:6px 10px;overflow:hidden;border:1.5px solid #743054;background:#fffaf4;font-size:11px;white-space:nowrap;text-overflow:ellipsis}.ai-web-page{display:grid;grid-template-columns:1.08fr .92fr;min-height:455px;overflow:hidden;background:radial-gradient(circle at 83% 30%,rgba(240,143,182,.2),transparent 30%),linear-gradient(135deg,#fffaf2,#f5eadf 62%,#eed9d9);animation:portfolio-page-in .32s ease-out both}@keyframes portfolio-page-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.ai-web-copy{align-self:center;padding:clamp(34px,4.5vw,58px)}.ai-web-eyebrow{margin-bottom:15px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:900;letter-spacing:.14em}.ai-web-copy h3{max-width:600px;color:#401d33;font-family:var(--heading-font);font-size:clamp(38px,4.6vw,60px);font-weight:950;line-height:.94;letter-spacing:-.04em;text-shadow:4px 4px 0 rgba(240,143,182,.55)}.ai-web-tagline{margin-top:24px;color:#7a1225;font-family:var(--heading-font);font-size:clamp(20px,2.1vw,29px);font-weight:900;line-height:1.15}.ai-web-description{max-width:610px;margin-top:14px;color:#2d2028b8;font-size:15px;font-weight:600;line-height:1.75}.ai-web-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:22px}.ai-web-tags span{padding:6px 10px;border:1.5px solid rgba(122,18,37,.36);border-radius:999px;color:#6a253b;background:#ffffff73;font-size:10px;font-weight:900;letter-spacing:.08em}.ai-web-actions{display:flex;flex-wrap:wrap;align-items:center;gap:11px;margin-top:27px}.ai-action-primary,.ai-action-secondary,.ai-action-disabled,.mini-case-link{display:inline-flex;align-items:center;justify-content:center;min-height:35px;padding:8px 14px 8px 16px;border-radius:999px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;font-weight:850;line-height:1;letter-spacing:.14em}.ai-action-primary{border:1.5px solid #4b172a;background:#6f2941;color:#fff8eb}.ai-action-secondary{border:1.5px solid rgba(85,20,42,.72);color:#651f39;background:#fffaf2e0}.mini-case-link{border:2px solid #55142a;background:#ef8fbd;color:#411829;box-shadow:4px 4px #55142a}.ai-web-visual{position:relative;min-height:395px}.ai-orbit{position:absolute;border:2px dashed rgba(122,18,37,.24);border-radius:50%}.ai-orbit-one{top:12%;right:8%;bottom:12%;left:2%;animation:orbit-spin 18s linear infinite}.ai-orbit-two{top:24%;right:19%;bottom:23%;left:13%;animation:orbit-spin 14s linear infinite reverse}@keyframes orbit-spin{to{transform:rotate(360deg)}}.ai-flow-core{position:absolute;top:50%;left:48%;display:grid;place-items:center;width:132px;height:132px;transform:translate(-50%,-50%) rotate(-4deg);border:4px solid;border-radius:32% 68% 55% 45%/43% 43% 57% 57%;background:#4a3142;color:#fff7ec;box-shadow:9px 10px #7a122566}.ai-flow-core span{font-family:var(--heading-font);font-size:42px;font-weight:950;line-height:.8}.ai-flow-core strong{font-family:monospace;font-size:10px;letter-spacing:.12em}.ai-flow-node{position:absolute;width:126px;padding:15px 13px;border:2px solid #6d2947;background:#fffaf2;color:#4a2134;box-shadow:6px 7px #ef9dc4}.ai-flow-node small{display:block;color:#b8214a;font-family:monospace;font-weight:900}.ai-flow-node span{display:block;margin-top:4px;font-size:14px;font-weight:900}.mini-program-lab{display:grid;grid-template-columns:minmax(300px,.78fr) 1.22fr;gap:clamp(36px,6vw,80px);align-items:center;padding:clamp(34px,6vw,72px);background:linear-gradient(135deg,#f1c0d6,#f6eadf 48%,#c7d8ce)}.mini-phone-screen{overflow:hidden;min-height:520px;border:3px solid #632143;border-radius:27px;background:#fffaf2}.mini-app-nav{display:flex;justify-content:space-between;padding:13px 16px;border-bottom:1px solid #e6c8d3;color:#571b3a;font-size:13px;font-weight:900}.mini-app-hero{padding:23px 17px;background:linear-gradient(140deg,#7a1225,#b8214a);color:#fff5eb}.mini-app-hero small{font-size:10px;opacity:.72}.mini-app-hero strong{display:block;margin-top:8px;font-family:var(--heading-font);font-size:23px;line-height:1.15}.mini-app-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:15px}.mini-app-grid div{display:grid;gap:8px;min-height:78px;padding:12px;border:1.5px solid #d9a9bb;border-radius:13px;color:#5a243b;background:#fff8f2;font-size:12px;font-weight:900}.mini-app-grid div span{color:#d45b88;font-size:19px}.mini-lab-copy{color:#421d31}@keyframes status-pulse{50%{transform:scale(.72);opacity:.6}}.mini-lab-copy h3{margin-top:18px;font-family:var(--heading-font);font-size:clamp(44px,5.4vw,76px);font-weight:950;line-height:.95;letter-spacing:-.04em;text-shadow:4px 4px 0 #f08fb6}.mini-lab-tagline{margin-top:22px;color:#7a1225;font-family:var(--heading-font);font-size:25px;font-weight:900}.mini-lab-copy>p:not(.mini-lab-tagline){max-width:610px;margin-top:13px;color:#34232db3;font-size:15px;font-weight:600;line-height:1.75}.skill-library-sidebar nav span.is-active{border:2px solid #f08fb6;background:#f08fb6;color:#4e1530;opacity:1;box-shadow:4px 4px #321020}.skill-library-list{margin-top:18px;border-top:2px solid #d9b8c6}.skill-library-item{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:18px;align-items:center;padding:26px 0;border-bottom:2px solid #dfc4ce}.skill-info{min-width:0;color:#401d31}.skill-info small{color:#b8214a;font-family:monospace;font-size:9px;font-weight:900;letter-spacing:.12em}.skill-info h3{margin-top:4px;font-family:var(--heading-font);font-size:25px;font-weight:950}.skill-info p{max-width:590px;margin-top:5px;color:#37232ea6;font-size:13px;line-height:1.55}.skill-info>div{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.skill-info>div span{padding:4px 7px;border-radius:999px;background:#f3d4e2;color:#7a2448;font-size:9px;font-weight:900}.skill-open-link{padding:10px 12px;border:2px solid #641d44;color:#641d44;background:#fffaf2;font-family:monospace;font-size:10px;font-weight:900;box-shadow:4px 4px #ef8fbd;white-space:nowrap}@media (max-width: 860px){.ai-web-page{grid-template-columns:1fr}.ai-web-copy{padding-bottom:20px}.ai-web-visual{min-height:360px}.mini-program-lab,.skill-library-window{grid-template-columns:1fr}.skill-library-sidebar{min-height:0;border-right:0;border-bottom:3px solid #641d44}.skill-library-sidebar nav{grid-template-columns:repeat(3,1fr);margin-top:25px}.skill-library-sidebar small{margin-top:25px}}@media (max-width: 600px){.portfolio-story-label{display:block}.portfolio-story-label p{margin-top:18px;text-align:left}.ai-web-browser-tabs{overflow-x:auto}.ai-web-tab{min-width:125px}.ai-web-window-controls{display:none}.ai-web-copy{padding:34px 24px 16px}.ai-web-visual{min-height:330px;transform:scale(.86);transform-origin:center}.ai-flow-node-1{left:0}.ai-flow-node-2{right:0}.ai-flow-node-3{right:4%}.portfolio-divider{margin:70px 0}.mini-program-lab{padding:34px 20px}.skill-library-main{padding:20px 16px}.skill-library-item{grid-template-columns:48px minmax(0,1fr)}.skill-icon{width:44px;height:44px}.skill-open-link{grid-column:2;justify-self:start}}.stamp{display:inline-flex;align-items:center;gap:.375rem;border-radius:9999px;border-width:2px;--tw-border-opacity: 1;border-color:rgb(122 18 37 / var(--tw-border-opacity, 1));padding:.375rem .75rem;font-size:.75rem;line-height:1rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;box-shadow:2px 2px #7a1225;transform:rotate(-2deg);transition:all .2s ease}.stamp:hover{transform:rotate(0) translate(-1px,-1px);box-shadow:3px 3px #7a1225}.press{--press-x: 5px;--press-y: 6px;--press-color: #7a1225;box-shadow:var(--press-x) var(--press-y) 0 var(--press-color);transition:transform .13s ease-out,box-shadow .13s ease-out}.press:hover{transform:translate(calc(var(--press-x) * .55),calc(var(--press-y) * .55));box-shadow:calc(var(--press-x) * .4) calc(var(--press-y) * .4) 0 var(--press-color)}.press:active{transform:translate(var(--press-x),var(--press-y));box-shadow:0 0 0 var(--press-color)}.underline-scribble{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 12' preserveAspectRatio='none'%3E%3Cpath d='M0,7 Q50,2 100,7 T200,7' stroke='%23B8214A' stroke-width='3' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:bottom;background-size:100% 8px;padding-bottom:8px}.portfolio-category-title:first-of-type,.ai-web-browser{width:min(1020px,100%)}.ai-web-browser{position:relative;aspect-ratio:1717 / 916;overflow:visible;border:0;background:transparent;box-shadow:none;filter:drop-shadow(10px 12px 0 rgba(122,18,37,.2)) drop-shadow(0 22px 26px rgba(39,24,36,.15))}.ai-web-browser-frame{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;width:100%;height:100%;-o-object-fit:fill;object-fit:fill;pointer-events:none}.ai-web-browser-tabs{position:absolute;top:2.75%;left:4.8%;z-index:3;align-items:center;width:52%;min-height:5.8%;padding:0;overflow:hidden;border:0;background:transparent}.ai-web-tab{min-width:0;max-width:205px;flex:1;height:37px;padding:7px 12px;border:1px solid rgba(65,65,65,.5);border-bottom-color:#2d2d2dad;border-radius:3px 3px 0 0;background:#e0e0ddc2;color:#4a3440;font-size:11px;font-weight:600;opacity:.68;box-shadow:inset 0 1px #ffffffb8}.ai-web-tab+.ai-web-tab{margin-left:5px}.ai-web-tab.is-active{border-color:#343434b8;background:#fffcf5f5;opacity:1;box-shadow:inset 0 1px #fff,0 2px #ffffffb3}.ai-web-tab-close{font-size:10px;font-weight:500}.ai-web-viewport{position:absolute;top:9.93%;right:2.45%;bottom:4.37%;left:2.45%;z-index:1;overflow:hidden;border:1px solid rgba(74,49,65,.38);background:#fffaf2}.ai-web-toolbar{height:38px;padding:5px 8px;border-bottom:1px solid rgba(100,29,68,.35);background:#e1e1deeb}.ai-web-tool{width:25px;height:24px;font-size:15px;border-color:#41414185;background:#f5f4ef}.ai-web-address{padding:5px 9px;font-size:9px;border-color:#4141417a;background:#fffdf8}.ai-web-page{height:calc(100% - 38px);min-height:0}.ai-web-copy{padding:clamp(28px,4vw,46px)}.ai-web-copy h3{font-size:clamp(34px,4.2vw,52px)}.ai-web-tagline{margin-top:18px;font-size:clamp(18px,2vw,24px)}.ai-web-description{font-size:13px}.ai-web-visual{min-height:0}.ai-web-page.has-product-preview{grid-template-columns:minmax(0,.76fr) minmax(0,1.24fr)}.has-product-preview .ai-web-copy{padding:clamp(24px,3.1vw,38px)}.has-product-preview .ai-web-copy h3{max-width:none;font-size:clamp(22px,2.55vw,30px);letter-spacing:-.045em;white-space:nowrap}.has-product-preview .ai-web-tagline{margin-top:15px;font-size:clamp(17px,1.65vw,22px)}.ai-web-transform-tagline{display:flex;align-items:center;gap:12px;white-space:nowrap}.ai-web-transform-arrow{position:relative;display:inline-block;width:clamp(34px,3.8vw,52px);height:13px;flex:0 0 auto}.ai-web-transform-arrow:before,.ai-web-transform-arrow:after{content:"";position:absolute;display:block}.ai-web-transform-arrow:before{top:6px;left:0;width:calc(100% - 3px);height:3px;border-radius:50%;background:#b8214a;transform:rotate(-1.5deg);box-shadow:0 2px #f08fb66b}.ai-web-transform-arrow:after{top:2px;right:1px;width:10px;height:10px;border-top:3px solid #b8214a;border-right:3px solid #b8214a;transform:rotate(45deg) skew(-5deg,-5deg)}.ai-web-product-preview{position:relative;display:flex;align-items:center;min-width:0;padding:24px 28px 30px 0}.ai-web-product-shot{width:100%;overflow:hidden;border:1px solid rgba(75,41,63,.45);border-radius:13px;background:#f5f1f7;box-shadow:8px 9px #f08fb67a,0 18px 28px #3623312e;transform:rotate(.7deg)}.ai-web-product-shot img{display:block;width:100%;height:auto}.ai-web-page.is-ai-builder .ai-web-product-shot{width:84%;margin-right:auto;margin-left:auto}.ai-web-product-note{position:absolute;right:38px;bottom:19px;padding:6px 9px;border:1px solid rgba(85,20,42,.48);background:#fffaf2;color:#6c2841;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px;font-weight:900;letter-spacing:.1em;box-shadow:3px 3px #9dbdaead;transform:rotate(-1.5deg)}.ai-action-placeholder{cursor:default;opacity:1;box-shadow:var(--press-x) var(--press-y) 0 var(--press-color)}@media (max-width: 700px){.ai-web-browser-tabs{width:61%}.ai-web-tab{height:30px;padding:5px 7px;font-size:9px}.ai-web-tab-close{display:none}.ai-web-page{grid-template-columns:1fr;overflow-y:auto}.ai-web-copy{padding:28px 22px 14px}.ai-web-visual{min-height:290px}.ai-web-page.has-product-preview{grid-template-columns:1fr}.ai-web-product-preview{padding:4px 20px 30px}.ai-web-product-note{right:29px;bottom:20px}}.portfolio-secondary-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:stretch;margin-top:92px}.portfolio-secondary-panel{display:flex;min-width:0;flex-direction:column}.portfolio-secondary-grid .mini-program-lab,.portfolio-secondary-grid .skill-library-window{flex:1;min-height:382px;box-shadow:9px 10px #7a12256b,0 20px 30px #27182429}.portfolio-secondary-grid .mini-program-lab{grid-template-columns:185px minmax(0,1fr);gap:24px;padding:28px}.portfolio-secondary-grid .mini-phone-shell{width:180px;padding:10px 7px 9px;border-width:3px;border-radius:28px;box-shadow:7px 8px #7a1225}.portfolio-secondary-grid .mini-phone-speaker{width:46px;height:4px;margin-bottom:7px}.portfolio-secondary-grid .mini-phone-screen{min-height:282px;border-width:2px;border-radius:18px}.portfolio-secondary-grid .mini-app-nav{padding:8px 9px;font-size:9px}.portfolio-secondary-grid .mini-app-hero{padding:14px 10px}.portfolio-secondary-grid .mini-app-hero small{font-size:7px}.portfolio-secondary-grid .mini-app-hero strong{font-size:15px}.portfolio-secondary-grid .mini-app-grid{gap:6px;padding:9px}.portfolio-secondary-grid .mini-app-grid div{min-height:55px;gap:3px;padding:7px;border-radius:8px;font-size:8px}.portfolio-secondary-grid .mini-app-grid div span{font-size:13px}.portfolio-secondary-grid .mini-lab-copy h3{margin-top:12px;font-size:clamp(30px,3.2vw,43px);line-height:.98;text-shadow:3px 3px 0 #f08fb6}.portfolio-secondary-grid .mini-lab-tagline{margin-top:15px;font-size:17px;line-height:1.25}.portfolio-secondary-grid .mini-case-link{min-height:36px;padding:8px 11px;font-size:9px}.portfolio-secondary-grid .skill-library-window{display:block;background:#fffaf2}.portfolio-secondary-grid .skill-library-list{margin:0;padding:0 21px;border:0}.portfolio-secondary-grid .skill-library-item{grid-template-columns:44px minmax(0,1fr) 34px;gap:13px;padding:24px 0}.portfolio-secondary-grid .skill-icon{width:42px;height:42px;box-shadow:3px 4px #7a1225;font-size:16px}.portfolio-secondary-grid .skill-info small{font-size:7px}.portfolio-secondary-grid .skill-info h3{font-size:20px}.portfolio-secondary-grid .skill-info p{display:-webkit-box;overflow:hidden;margin-top:4px;font-size:11px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.portfolio-secondary-grid .skill-open-link{display:grid;place-items:center;width:30px;height:30px;padding:0;font-size:13px;box-shadow:3px 3px #ef8fbd}@media (max-width: 900px){.portfolio-secondary-grid{grid-template-columns:1fr;gap:58px}.portfolio-secondary-grid .mini-program-lab{grid-template-columns:185px minmax(0,1fr)}}@media (max-width: 560px){.portfolio-secondary-grid{margin-top:70px}.portfolio-secondary-grid .mini-program-lab{grid-template-columns:145px minmax(0,1fr);gap:15px;padding:20px 15px}.portfolio-secondary-grid .mini-phone-shell{width:140px}.portfolio-secondary-grid .mini-phone-screen{min-height:275px}.portfolio-secondary-grid .mini-lab-copy h3{font-size:27px}.portfolio-secondary-grid .mini-lab-tagline{font-size:14px}.mini-capability-tags{margin:13px 0 17px}.portfolio-secondary-grid .skill-library-list{padding:0 15px}}.portfolio-secondary-grid{grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);gap:clamp(42px,4vw,58px);align-items:center}.portfolio-secondary-panel{position:relative}.portfolio-secondary-grid .portfolio-compact-label{justify-content:flex-start;gap:12px;margin-bottom:26px}.portfolio-secondary-grid .portfolio-category-title{margin-bottom:24px}.portfolio-secondary-grid .portfolio-compact-label strong{color:#421d31;font-family:"Noto Serif SC",Georgia,serif;font-size:30px;font-weight:600;line-height:1;letter-spacing:-.02em}.portfolio-secondary-grid .portfolio-compact-label span{padding:4px 7px;border-width:1px;font-size:7px;font-weight:700;box-shadow:2px 2px #7a1225b8}.portfolio-secondary-grid .mini-program-lab{grid-template-columns:minmax(250px,292px) minmax(0,1fr);gap:25px;min-height:0;padding:0;overflow:visible;border:0;background:transparent;box-shadow:none}.mini-phone-device{position:relative;width:min(292px,100%);aspect-ratio:699 / 1439;margin:0 auto;filter:drop-shadow(9px 12px 0 rgba(122,18,37,.2)) drop-shadow(0 16px 18px rgba(48,25,38,.14))}.mini-phone-frame{position:absolute;top:-3.13%;left:50%;z-index:2;width:auto;height:106.32%;max-width:none;transform:translate(-50%);pointer-events:none}.portfolio-secondary-grid .mini-phone-screen{position:absolute;z-index:1;top:2.71%;right:7.15%;bottom:2.78%;left:7.58%;min-height:0;overflow:hidden;border:0;border-radius:11%/5%;background:#fffaf2}.portfolio-secondary-grid .mini-app-nav{padding:15px 14px 10px;font-size:10px}.portfolio-secondary-grid .mini-app-hero{padding:28px 17px}.portfolio-secondary-grid .mini-app-hero small{font-size:8px}.portfolio-secondary-grid .mini-app-hero strong{font-size:18px;font-weight:600;line-height:1.35}.portfolio-secondary-grid .mini-app-grid{gap:9px;padding:14px}.portfolio-secondary-grid .mini-app-grid div{min-height:76px;padding:10px;border-radius:10px;font-size:10px;font-weight:600}.portfolio-secondary-grid .mini-lab-copy h3{margin-top:0;font-family:"Noto Serif SC",Georgia,serif;font-size:clamp(25px,2.2vw,31px);font-weight:600;line-height:1.14;letter-spacing:-.03em;text-shadow:none;white-space:nowrap}.portfolio-secondary-grid .mini-lab-tagline{margin-top:12px;color:#421d31c7;font-family:Poppins,Noto Sans SC,-apple-system,sans-serif;font-size:14px;font-weight:500;line-height:1.55}.portfolio-secondary-grid .mini-status{gap:7px;font-size:8px;font-weight:700}.portfolio-secondary-grid .mini-status span{width:7px;height:7px;box-shadow:0 0 0 3px #e64d6221}.portfolio-secondary-grid .mini-capability-tags{gap:5px;margin:18px 0 20px}.portfolio-secondary-grid .mini-capability-tags span{padding:5px 7px;font-size:8px;font-weight:600}.portfolio-secondary-grid .mini-case-link{min-height:0;margin-top:22px;padding:0 0 3px;border:0;border-bottom:1px solid currentColor;background:transparent;box-shadow:none;color:#7a1225;font-size:11px;font-weight:600;letter-spacing:.04em}.skill-list-sheet{position:relative;box-sizing:border-box;min-height:0;aspect-ratio:1412 / 1114;padding:0;overflow:visible;border:0;background:transparent;color:#421d31;box-shadow:none;transform:none}.skill-list-sheet:before{content:none}.skill-manager-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;width:100%;height:100%;-o-object-fit:contain;object-fit:contain;filter:drop-shadow(8px 11px 0 rgba(122,18,37,.18)) drop-shadow(0 18px 20px rgba(39,24,36,.12));pointer-events:none}.portfolio-secondary-grid .skill-library-list{position:absolute;z-index:1;top:19.75%;right:7.65%;bottom:16.7%;left:12.46%;display:grid;grid-template-rows:repeat(4,1fr);gap:2.65%;margin:0;padding:0;border-top:0;transform:none;background:linear-gradient(#fffaf2e0 0,#fffaf2e0 0) 0 0 / 100% 23% no-repeat,linear-gradient(#fffaf2e0 0,#fffaf2e0 0) 0 33.34% / 100% 23% no-repeat,linear-gradient(#fffaf2e0 0,#fffaf2e0 0) 0 66.67% / 100% 23% no-repeat,linear-gradient(#fffaf2e0 0,#fffaf2e0 0) 0 100% / 100% 23% no-repeat}.portfolio-secondary-grid .skill-library-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:13px;align-items:center;min-height:0;padding:13px 18px;border-bottom:0;background:#fffaf2e0;color:inherit;transition:padding .16s ease,background .16s ease,transform .16s ease}.portfolio-secondary-grid .skill-library-item:hover{padding-right:21px;padding-left:21px;background:#fffaf2fa;transform:translate(2px)}.portfolio-secondary-grid .skill-info small{color:#8e294fc2;font-size:7px;font-weight:700}.portfolio-secondary-grid .skill-info h3{margin-top:0;font-family:Georgia,Times New Roman,"Noto Serif SC",serif;font-size:clamp(17px,1.55vw,21px);font-weight:600;line-height:1.15;letter-spacing:-.025em;white-space:nowrap}.portfolio-secondary-grid .skill-info p{display:block;max-width:none;margin-top:4px;overflow:visible;color:#37232eb3;font-size:10px;font-weight:400;line-height:1.65}.portfolio-secondary-grid .skill-open-link{display:inline-flex;align-items:center;justify-content:center;width:auto;height:auto;min-height:25px;padding:6px 10px 6px 11px;border:1px solid #4b172a;border-radius:999px;background:#6f2941;box-shadow:2px 2px #d39aaa;color:#fff8eb;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:7px;font-weight:850;line-height:1;letter-spacing:.12em}.portfolio-secondary-grid .mini-case-link{display:inline-flex;align-items:center;justify-content:center;width:-moz-max-content;width:max-content;min-height:35px;margin-top:22px;padding:8px 14px 8px 16px;border:1.5px solid rgba(85,20,42,.72);border-radius:999px;background:#fffaf2e0;box-shadow:var(--press-x) var(--press-y) 0 var(--press-color);color:#651f39;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;font-weight:850;line-height:1;letter-spacing:.14em}@media (max-width: 900px){.portfolio-secondary-grid{grid-template-columns:1fr;gap:78px}.portfolio-secondary-grid .mini-program-lab{grid-template-columns:minmax(290px,.8fr) minmax(220px,1fr)}.mini-phone-device{width:292px}}@media (max-width: 560px){.portfolio-secondary-grid .mini-program-lab{grid-template-columns:1fr;gap:28px;padding:0}.mini-phone-device{width:min(246px,76vw)}.portfolio-secondary-grid .mini-phone-screen{min-height:0}.portfolio-secondary-grid .mini-app-nav{padding:11px 10px 7px;font-size:7px}.portfolio-secondary-grid .mini-app-hero{padding:17px 11px}.portfolio-secondary-grid .mini-app-hero small{font-size:6px}.portfolio-secondary-grid .mini-app-hero strong{font-size:12px}.portfolio-secondary-grid .mini-app-grid{gap:6px;padding:9px}.portfolio-secondary-grid .mini-app-grid div{min-height:48px;padding:6px;font-size:7px}.portfolio-secondary-grid .mini-app-grid div span{font-size:11px}.portfolio-secondary-grid .mini-lab-copy{width:min(310px,100%);margin:0 auto}.portfolio-secondary-grid .mini-lab-copy h3{font-size:26px}.portfolio-secondary-grid .mini-lab-tagline{font-size:13px}.mini-capability-tags span{font-size:8px}.portfolio-secondary-grid .skill-library-item{grid-template-columns:minmax(0,1fr) auto;gap:8px}.portfolio-secondary-grid .skill-info h3{font-size:14px}.portfolio-secondary-grid .skill-info p{font-size:8px}}.ai-web-browser,.mini-phone-device,.skill-list-sheet,.desk-crt,.toolbox-machine-stage,.about-card-back,.about-card{rotate:var(--rest);translate:0 0;transition:rotate .22s ease,translate .22s ease}.ai-web-browser:hover,.mini-phone-device:hover,.skill-list-sheet:hover,.desk-crt:hover,.toolbox-machine-stage:hover,.about-card-stack:hover .about-card-back,.about-card-stack:hover .about-card{rotate:calc(var(--rest) * .66);translate:0 var(--lift)}.ai-web-browser{--rest: .55deg;--lift: -6px}.mini-phone-device{--rest: -1.2deg;--lift: -5px}.skill-list-sheet{--rest: .9deg;--lift: -5px}.desk-crt{--rest: -.7deg;--lift: -6px}.toolbox-machine-stage{--rest: 1deg;--lift: -6px}.about-card-back{--rest: -2deg;--lift: -5px}.about-card{--rest: .8deg;--lift: -5px}@media (prefers-reduced-motion: reduce){.ai-web-browser:hover,.mini-phone-device:hover,.skill-list-sheet:hover,.desk-crt:hover,.toolbox-machine-stage:hover,.about-card-stack:hover .about-card-back,.about-card-stack:hover .about-card{rotate:var(--rest);translate:0 0}.ai-web-browser,.mini-phone-device,.skill-list-sheet,.desk-crt,.toolbox-machine-stage,.about-card-back,.about-card{transition:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.-bottom-11{bottom:-2.75rem}.-bottom-2\.5{bottom:-.625rem}.-bottom-\[16\%\]{bottom:-16%}.-left-4{left:-1rem}.-left-\[26\%\]{left:-26%}.-left-\[30\%\]{left:-30%}.-left-\[4\%\]{left:-4%}.-right-2\.5{right:-.625rem}.-right-\[27\%\]{right:-27%}.-right-\[29\%\]{right:-29%}.-top-2\.5{top:-.625rem}.-top-\[18px\]{top:-18px}.-top-\[76px\]{top:-76px}.bottom-1\.5{bottom:.375rem}.bottom-2{bottom:.5rem}.bottom-4{bottom:1rem}.bottom-\[60px\]{bottom:60px}.left-0{left:0}.left-1\/2{left:50%}.left-10{left:2.5rem}.left-2\.5{left:.625rem}.left-3{left:.75rem}.left-\[34\%\]{left:34%}.left-\[52\%\]{left:52%}.right-0{right:0}.right-4{right:1rem}.right-8{right:2rem}.right-\[132px\]{right:132px}.top-0{top:0}.top-1\.5{top:.375rem}.top-6{top:1.5rem}.top-\[0\.8\%\]{top:.8%}.top-\[12\%\]{top:12%}.top-\[4\%\]{top:4%}.top-\[53\%\]{top:53%}.top-\[55\%\]{top:55%}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.z-\[12\]{z-index:12}.z-\[1\]{z-index:1}.z-\[2\]{z-index:2}.z-\[4\]{z-index:4}.mx-auto{margin-left:auto;margin-right:auto}.mb-10{margin-bottom:2.5rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-5{margin-bottom:1.25rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-16{margin-top:4rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.mt-\[0\.8\%\]{margin-top:.8%}.mt-\[11\%\]{margin-top:11%}.mt-\[2\.2\%\]{margin-top:2.2%}.mt-\[2\.5\%\]{margin-top:2.5%}.mt-\[3\.3\%\]{margin-top:3.3%}.mt-\[4\.5\%\]{margin-top:4.5%}.mt-\[9\%\]{margin-top:9%}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.aspect-\[\.82\]{aspect-ratio:.82}.aspect-\[37\/40\]{aspect-ratio:37/40}.aspect-\[4\/5\]{aspect-ratio:4/5}.aspect-\[67\/75\]{aspect-ratio:67/75}.aspect-\[761\/1064\]{aspect-ratio:761/1064}.h-0{height:0px}.h-2{height:.5rem}.h-20{height:5rem}.h-4{height:1rem}.h-\[2px\]{height:2px}.h-full{height:100%}.h-px{height:1px}.min-h-0{min-height:0px}.min-h-\[0\.95em\]{min-height:.95em}.min-h-\[1\.02em\]{min-height:1.02em}.min-h-\[60vh\]{min-height:60vh}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-2{width:.5rem}.w-20{width:5rem}.w-36{width:9rem}.w-8{width:2rem}.w-\[108\%\]{width:108%}.w-\[112\%\]{width:112%}.w-\[170px\]{width:170px}.w-\[22\%\]{width:22%}.w-\[30\%\]{width:30%}.w-\[42\%\]{width:42%}.w-\[86\%\]{width:86%}.w-\[clamp\(3px\,\.42vw\,6px\)\]{width:clamp(3px,.42vw,6px)}.w-\[clamp\(8px\,\.9vw\,12px\)\]{width:clamp(8px,.9vw,12px)}.w-\[min\(1020px\,92vw\)\]{width:min(1020px,92vw)}.w-\[min\(1120px\,92vw\)\]{width:min(1120px,92vw)}.w-\[min\(700px\,90vw\)\]{width:min(700px,90vw)}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-max{min-width:-moz-max-content;min-width:max-content}.max-w-\[1240px\]{max-width:1240px}.max-w-\[190px\]{max-width:190px}.max-w-\[470px\]{max-width:470px}.max-w-\[560px\]{max-width:560px}.max-w-\[76px\]{max-width:76px}.max-w-full{max-width:100%}.flex-1{flex:1 1 0%}.flex-none{flex:none}.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-\[8deg\]{--tw-rotate: -8deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-\[-2deg\]{--tw-rotate: -2deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-\[2deg\]{--tw-rotate: 2deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-x-\[1\.2\]{--tw-scale-x: 1.2;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.animate-marquee{animation:marquee 20s linear infinite}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-10{gap:2.5rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-3\.5{gap:.875rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.gap-\[4\%\]{gap:4%}.gap-\[clamp\(1px\,\.18vw\,2px\)\]{gap:clamp(1px,.18vw,2px)}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-y-2{row-gap:.5rem}.justify-self-center{justify-self:center}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-clip{overflow-x:clip}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.rounded-\[1px\]{border-radius:1px}.rounded-\[3px\]{border-radius:3px}.rounded-full{border-radius:9999px}.border{border-width:1px}.border-2{border-width:2px}.border-l{border-left-width:1px}.border-\[\#8f6c62\]\/70{border-color:#8f6c62b3}.border-\[\#b99a88\]{--tw-border-opacity: 1;border-color:rgb(185 154 136 / var(--tw-border-opacity, 1))}.border-ink{--tw-border-opacity: 1;border-color:rgb(122 18 37 / var(--tw-border-opacity, 1))}.border-ink\/25{border-color:#7a122540}.bg-\[\#eadcc4\]{--tw-bg-opacity: 1;background-color:rgb(234 220 196 / var(--tw-bg-opacity, 1))}.bg-\[\#f7eddc\]{--tw-bg-opacity: 1;background-color:rgb(247 237 220 / var(--tw-bg-opacity, 1))}.bg-cream{--tw-bg-opacity: 1;background-color:rgb(246 237 221 / var(--tw-bg-opacity, 1))}.bg-cream-deep{--tw-bg-opacity: 1;background-color:rgb(248 241 228 / var(--tw-bg-opacity, 1))}.bg-ink{--tw-bg-opacity: 1;background-color:rgb(122 18 37 / var(--tw-bg-opacity, 1))}.bg-mustard\/70{background-color:#e8c15ab3}.bg-cover{background-size:cover}.bg-center{background-position:center}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-2{padding:.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}.px-\[30px\]{padding-left:30px;padding-right:30px}.px-\[8\%\]{padding-left:8%;padding-right:8%}.px-\[clamp\(4px\,\.55vw\,7px\)\]{padding-left:clamp(4px,.55vw,7px);padding-right:clamp(4px,.55vw,7px)}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-\[15px\]{padding-top:15px;padding-bottom:15px}.py-\[3\.5\%\]{padding-top:3.5%;padding-bottom:3.5%}.pb-24{padding-bottom:6rem}.pb-5{padding-bottom:1.25rem}.pb-8{padding-bottom:2rem}.pb-\[8\%\]{padding-bottom:8%}.pb-\[clamp\(4px\,\.48vw\,6px\)\]{padding-bottom:clamp(4px,.48vw,6px)}.pl-\[6\%\]{padding-left:6%}.pr-\[5\%\]{padding-right:5%}.pt-14{padding-top:3.5rem}.pt-20{padding-top:5rem}.pt-\[7\%\]{padding-top:7%}.pt-\[clamp\(3px\,\.38vw\,5px\)\]{padding-top:clamp(3px,.38vw,5px)}.text-left{text-align:left}.text-center{text-align:center}.font-hand{font-family:Yellowtail,cursive}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[2\.1cqw\]{font-size:2.1cqw}.text-\[2\.35cqw\]{font-size:2.35cqw}.text-\[2\.55cqw\]{font-size:2.55cqw}.text-\[2\.8cqw\]{font-size:2.8cqw}.text-\[3\.35cqw\]{font-size:3.35cqw}.text-\[3\.45cqw\]{font-size:3.45cqw}.text-\[7\.4cqw\]{font-size:7.4cqw}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[clamp\(40px\,6\.4vw\,92px\)\]{font-size:clamp(40px,6.4vw,92px)}.text-\[clamp\(52px\,7\.8vw\,108px\)\]{font-size:clamp(52px,7.8vw,108px)}.text-\[clamp\(58px\,11\.5vw\,168px\)\]{font-size:clamp(58px,11.5vw,168px)}.text-\[clamp\(6px\,\.62vw\,9px\)\]{font-size:clamp(6px,.62vw,9px)}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-\[0\.85\]{line-height:.85}.leading-\[0\.95\]{line-height:.95}.leading-\[0\.9\]{line-height:.9}.leading-\[1\.02\]{line-height:1.02}.leading-\[1\.6\]{line-height:1.6}.leading-\[1\.7\]{line-height:1.7}.leading-none{line-height:1}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[-0\.035em\]{letter-spacing:-.035em}.tracking-\[-0\.08em\]{letter-spacing:-.08em}.tracking-\[0\.07em\]{letter-spacing:.07em}.tracking-\[0\.08em\]{letter-spacing:.08em}.tracking-\[0\.11em\]{letter-spacing:.11em}.tracking-\[0\.15em\]{letter-spacing:.15em}.tracking-\[0\.1em\]{letter-spacing:.1em}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-\[\#68152f\]{--tw-text-opacity: 1;color:rgb(104 21 47 / var(--tw-text-opacity, 1))}.text-brick{--tw-text-opacity: 1;color:rgb(184 33 74 / var(--tw-text-opacity, 1))}.text-cream-light{--tw-text-opacity: 1;color:rgb(253 247 236 / var(--tw-text-opacity, 1))}.text-ink{--tw-text-opacity: 1;color:rgb(122 18 37 / var(--tw-text-opacity, 1))}.text-ink\/30{color:#7a12254d}.text-ink\/60{color:#7a122599}.text-ink\/65{color:#7a1225a6}.opacity-55{opacity:.55}.opacity-75{opacity:.75}.opacity-90{opacity:.9}.shadow-\[0_1px_0_\#fff8ea\,1px_2px_0_rgba\(102\,64\,57\,\.25\)\]{--tw-shadow: 0 1px 0 #fff8ea,1px 2px 0 rgba(102,64,57,.25);--tw-shadow-colored: 0 1px 0 var(--tw-shadow-color), 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_3px_0_\#8f6c62\,0_7px_10px_rgba\(58\,25\,30\,\.24\)\]{--tw-shadow: 0 3px 0 #8f6c62,0 7px 10px rgba(58,25,30,.24);--tw-shadow-colored: 0 3px 0 var(--tw-shadow-color), 0 7px 10px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));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}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}html,body,#root{max-width:100%;overflow-x:clip}.project-detail-page{min-height:100vh;background:#d99aae;color:#421d2d;padding:52px 0 88px}.project-detail-shell{width:min(1160px,92vw);margin:0 auto}.project-detail-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;color:#64172e;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;font-weight:800;letter-spacing:.14em}.project-detail-topbar a{padding:11px 15px;border:1.5px solid #64172e;background:#f7eadc;box-shadow:3px 3px #64172e;transition:transform .16s ease,box-shadow .16s ease}.project-detail-topbar a:hover{transform:translate(2px,2px);box-shadow:1px 1px #64172e}.project-dossier{background:#f7eadc;border:1.5px solid #64172e;box-shadow:10px 12px #64172e38}.project-dossier-hero{display:grid;min-height:510px;border-bottom:1.5px solid #64172e}.project-dossier.has-visual .project-dossier-hero{grid-template-columns:minmax(340px,.84fr) minmax(460px,1.16fr)}.project-dossier-heading{padding:clamp(38px,5vw,72px);display:flex;flex-direction:column;justify-content:center}.project-dossier-kicker{display:flex;align-items:center;gap:12px;margin-bottom:34px}.project-dossier-kicker span{padding:7px 10px;border:1px solid #8d3953;color:#8d3953;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;font-weight:900;letter-spacing:.13em}.project-dossier-kicker span:first-child{color:#f7eadc;background:#64172e;border-color:#64172e}.project-dossier-heading h1{margin:0;font-family:var(--font-serif);font-size:clamp(42px,5.2vw,76px);line-height:.98;font-weight:900;letter-spacing:-.055em}.project-dossier-tagline{margin:22px 0 0;max-width:13em;color:#9a2749;font-family:var(--font-serif);font-size:clamp(21px,2.35vw,31px);line-height:1.25;font-weight:800}.project-dossier-meta{margin:36px 0 0;border-top:1px solid rgba(100,23,46,.26)}.project-dossier-meta>div{display:grid;grid-template-columns:62px 1fr;gap:15px;padding:10px 0;border-bottom:1px solid rgba(100,23,46,.18)}.project-dossier-meta dt{color:#a05268;font:800 9px/1.7 ui-monospace,monospace;letter-spacing:.16em}.project-dossier-meta dd{margin:0;font-size:13px;font-weight:700}.project-dossier-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.project-dossier-tags span{border-radius:999px;padding:6px 11px;color:#64172e;background:#efbdca;font-size:10px;font-weight:800}.project-visual{margin:0;min-width:0;padding:24px;background:#b9d6da;border-left:1.5px solid #64172e;display:flex;flex-direction:column}.project-visual-toolbar{height:34px;display:flex;align-items:center;gap:7px;padding:0 12px;color:#64172e;background:#f7eadc;border:1.5px solid #64172e;border-bottom:0}.project-visual-toolbar i{width:8px;height:8px;border-radius:50%;background:#d66a88;border:1px solid #64172e}.project-visual-toolbar i:nth-child(2){background:#f0b94e}.project-visual-toolbar i:nth-child(3){background:#8db89f}.project-visual-toolbar span{margin-left:auto;font:800 9px/1 ui-monospace,monospace;letter-spacing:.14em}.project-visual-canvas{flex:1;min-height:0;padding:10px;background:#fffdf8;border:1.5px solid #64172e;overflow:hidden}.project-visual-canvas img{width:100%;height:100%;display:block;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center}.project-dossier-content{padding:clamp(38px,5vw,72px)}.project-dossier-pair{display:grid;grid-template-columns:1fr 1fr;gap:22px}.project-dossier-section{border:1px solid rgba(100,23,46,.36);background:#fbf2e7}.project-section-heading{display:flex;align-items:stretch;border-bottom:1px solid rgba(100,23,46,.28)}.project-section-heading>span{width:54px;display:grid;place-items:center;background:#64172e;color:#f7eadc;font:900 12px/1 ui-monospace,monospace}.project-section-heading>div{padding:13px 17px 12px}.project-section-heading small{display:block;color:#a05268;font:800 8px/1 ui-monospace,monospace;letter-spacing:.17em}.project-section-heading h2{margin:5px 0 0;font-family:var(--font-serif);font-size:23px;line-height:1;font-weight:900}.project-text-block>p{margin:0;padding:24px;color:#5d3b48;font-size:16px;line-height:1.85;font-weight:500}.project-dossier-solution,.project-dossier-highlights{margin-top:24px}.project-dossier-solution ol{margin:0;padding:4px 28px 12px;list-style:none}.project-dossier-solution li{display:grid;grid-template-columns:48px 1fr;gap:18px;align-items:baseline;padding:19px 0;border-bottom:1px dashed rgba(100,23,46,.3)}.project-dossier-solution li:last-child{border-bottom:0}.project-dossier-solution li>span{color:#c34c70;font:900 18px/1 ui-monospace,monospace}.project-dossier-solution li p{margin:0;color:#51313e;font-size:16px;line-height:1.7}.project-highlight-grid{display:grid;grid-template-columns:repeat(3,1fr)}.project-highlight-grid article{min-height:142px;padding:24px;border-right:1px solid rgba(100,23,46,.28)}.project-highlight-grid article:last-child{border-right:0}.project-highlight-grid span{color:#34728b;font:900 12px/1 ui-monospace,monospace}.project-highlight-grid p{margin:18px 0 0;color:#51313e;font-size:15px;line-height:1.65;font-weight:650}.project-dossier-ending{display:grid;grid-template-columns:1.15fr .85fr;gap:22px;margin-top:24px}.project-dossier-ending section{padding:30px}.project-dossier-ending section>span{font:900 9px/1 ui-monospace,monospace;letter-spacing:.17em}.project-dossier-ending h2{margin:8px 0 17px;font-family:var(--font-serif);font-size:27px;line-height:1}.project-dossier-ending p{margin:0;font-size:16px;line-height:1.75}.project-result{color:#f7eadc;background:#64172e}.project-result>span{color:#ef9db5}.project-reflection{color:#3e4551;background:#b9d6da;border:1px solid #34728b;transform:rotate(.45deg);box-shadow:4px 5px #34728b38}.project-reflection>span{color:#34728b}.project-reflection p{font-family:var(--font-hand);font-size:21px}.project-detail-pagination{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:30px}.project-detail-pagination a{min-width:0;padding:18px 20px;color:#64172e;background:#f7eadc;border:1.5px solid #64172e;transition:transform .16s ease}.project-detail-pagination a:hover{transform:translateY(-3px)}.project-detail-pagination a:last-child{text-align:right}.project-detail-pagination small{display:block;margin-bottom:7px;color:#a05268;font:900 9px/1 ui-monospace,monospace;letter-spacing:.14em}.project-detail-pagination span{font-family:var(--font-serif);font-size:19px;font-weight:900}@media (max-width: 820px){.project-detail-page{padding:26px 0 60px}.project-dossier.has-visual .project-dossier-hero{grid-template-columns:1fr}.project-dossier-hero{min-height:0}.project-visual{min-height:420px;border-left:0;border-top:1.5px solid #64172e;padding:16px}.project-dossier-pair,.project-dossier-ending,.project-highlight-grid{grid-template-columns:1fr}.project-highlight-grid article{min-height:0;border-right:0;border-bottom:1px solid rgba(100,23,46,.28)}.project-highlight-grid article:last-child{border-bottom:0}}@media (max-width: 520px){.project-detail-shell{width:min(94vw,1160px)}.project-dossier-heading,.project-dossier-content{padding:28px 22px}.project-dossier-heading h1{font-size:40px}.project-visual{min-height:300px}.project-text-block>p{padding:19px;font-size:15px}.project-dossier-solution ol{padding-inline:18px}.project-detail-pagination{grid-template-columns:1fr}.project-detail-pagination a:last-child{text-align:left}}#experience,#work,#skills,#about,#contact{content-visibility:auto;contain-intrinsic-size:auto 900px}@media (max-width: 560px){.ai-web-tab{min-height:44px}.ai-web-actions a,.ai-web-actions [role=button],.mini-case-link,.skill-open-link{min-height:44px;display:inline-flex;align-items:center;justify-content:center}.portfolio-secondary-grid .skill-library-item{min-height:52px;padding:8px 10px}.portfolio-secondary-grid .skill-open-link{min-width:52px;padding:8px 9px}.desktop-folder-button{min-width:44px;min-height:44px}.project-detail-topbar a{min-height:44px;display:inline-flex;align-items:center}}.film-strip-divider{--film-frame-step: 108px;--film-roll-distance: -216px;--film-roll-duration: 5.8s;position:absolute;left:50%;top:0;width:100%;height:clamp(34px,3.8vw,48px);transform:translate(-50%,-50%);overflow:hidden;pointer-events:none;background:linear-gradient(180deg,#390314a3,#7a122514 17%,#de5b7d17 48%,#56071c57 83%,#300211b3),radial-gradient(ellipse at 16% 52%,rgba(245,169,198,.16) 0%,transparent 11%),radial-gradient(ellipse at 61% 42%,rgba(253,217,194,.1) 0%,transparent 8%),repeating-linear-gradient(90deg,#5b081d2e 0,#5b081d2e 92px,#901a3429 92px,#901a3429 184px),#7a1225;border-top:1px solid rgba(66,4,22,.82);border-bottom:1px solid rgba(58,3,19,.86);box-shadow:inset 0 1px #ffdccd14,inset 0 -1px #26000c52,0 2px 5px #580a1c21}.film-strip-divider:before,.film-strip-divider:after{content:"";position:absolute;z-index:2;left:0;width:100%;height:clamp(5px,.5vw,6px);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='6' viewBox='0 0 18 6'%3E%3Crect x='6' y='1' width='6' height='4' rx='1' fill='%23F8E7CC' fill-opacity='.9'/%3E%3C/svg%3E");background-size:18px 6px;background-repeat:repeat-x;filter:drop-shadow(0 .5px 0 rgba(42,0,12,.5))}.film-strip-divider:before{top:2px;background-position-x:2px}.film-strip-divider:after{bottom:2px;background-position-x:9px}.film-strip-divider:before{animation:film-holes-top var(--film-roll-duration) linear infinite}.film-strip-divider:after{animation:film-holes-bottom var(--film-roll-duration) linear infinite}.film-strip-divider__frames{position:absolute;inset:clamp(10px,1.05vw,13px) 0;background:repeating-linear-gradient(90deg,transparent 0 var(--film-frame-step),rgba(249,194,205,.18) var(--film-frame-step) calc(var(--film-frame-step) + 1px)),linear-gradient(90deg,#ffd2ca06 0,#ffd2ca06 50%,#3201110d 50%,#3201110d);background-size:auto,calc(var(--film-frame-step) * 2) 100%;border-top:1px solid rgba(248,198,199,.1);border-bottom:1px solid rgba(62,3,21,.32);box-shadow:inset 0 0 7px #2d000e3d;animation:film-frames-roll var(--film-roll-duration) linear infinite}.film-strip-divider__frames:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.32;background-image:radial-gradient(rgba(255,225,204,.16) .45px,transparent .65px);background-size:4px 3px;mix-blend-mode:screen;animation:film-grain-drift .7s steps(2,end) infinite}.film-strip-divider__frames:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.38;background:linear-gradient(91deg,transparent 0 27%,rgba(255,222,205,.22) 27.08%,transparent 27.18%),linear-gradient(89deg,transparent 0 72%,rgba(57,1,18,.34) 72.08%,transparent 72.2%),linear-gradient(176deg,transparent 0 47%,rgba(255,210,198,.12) 47.2%,transparent 47.7%);background-size:100% 100%;background-repeat:repeat-x;animation:film-scratches-roll var(--film-roll-duration) linear infinite}@keyframes film-holes-top{0%{background-position-x:2px}to{background-position-x:calc(2px + var(--film-roll-distance))}}@keyframes film-holes-bottom{0%{background-position-x:9px}to{background-position-x:calc(9px + var(--film-roll-distance))}}@keyframes film-frames-roll{0%{background-position:0 0,0 0}to{background-position:var(--film-roll-distance) 0,var(--film-roll-distance) 0}}@keyframes film-scratches-roll{0%{background-position:0 0,0 0,0 0}to{background-position:var(--film-roll-distance) 0,var(--film-roll-distance) 0,var(--film-roll-distance) 0}}@keyframes film-grain-drift{0%{background-position:0 0}50%{background-position:-3px 2px}to{background-position:2px -2px}}@media (max-width: 640px){.film-strip-divider{--film-frame-step: 84px;--film-roll-distance: -168px;width:100%;height:32px}.film-strip-divider:before,.film-strip-divider:after{height:4px;background-size:14px 4px}.film-strip-divider__frames{top:9px;right:0;bottom:9px;left:0}}@media (prefers-reduced-motion: reduce){.film-strip-divider:before,.film-strip-divider:after,.film-strip-divider__frames,.film-strip-divider__frames:before,.film-strip-divider__frames:after{animation:none}}@media (max-width: 560px){.desktop-folder-button{min-width:44px!important;min-height:44px!important}.portfolio-secondary-grid .mini-case-link{min-height:44px;padding:10px 14px;border:1.5px solid #7a1225;background:#fffaf2;text-decoration:none}.portfolio-secondary-grid .skill-library-item{min-height:52px}.portfolio-secondary-grid .skill-open-link{min-width:52px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.toolbox-lever-button{min-width:44px}.toolbox-lever-tip{min-width:44px;min-height:44px}.toolbox-spin-hint{min-height:44px}}.postcard-edge-divider{position:relative;z-index:5;height:clamp(8px,.8vw,11px);pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.55),transparent 48%),#f5ead8;box-shadow:0 -1px #fffaf1b8,0 -7px 14px #452d3921,inset 0 -1px #7a122514}@media (max-width: 560px){#experience,.toolbox-section{padding-left:18px;padding-right:18px}.desk-letter-stand{top:1.5%;gap:1px;padding:3px 4px 4px;box-shadow:0 2px #8f6c62,0 5px 8px #3a191e33}.desk-letter-tile{width:clamp(7px,2.2vw,9px);font-size:clamp(5px,1.5vw,7px)}.desk-letter-space{width:3px}.portfolio-work-wrap{width:100%}.portfolio-work-wrap>header{margin-bottom:42px}.portfolio-work-wrap>header p{margin-inline:auto;max-width:290px;font-size:19px;line-height:1.35}.ai-web-browser{rotate:.25deg}.ai-web-address{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toolbox-machine-wrap{width:calc(100% - 4px)}.toolbox-copy{padding-inline:2px}.toolbox-copy h3{line-height:1.1}.toolbox-lever-tip{right:0}.about-card-stack{width:min(100%,94vw)}.about-card{padding:34px 20px}}@media (hover: none){.ai-web-browser:hover,.mini-phone-device:hover,.skill-list-sheet:hover,.desk-crt:hover,.toolbox-machine-stage:hover,.about-card-stack:hover .about-card-back,.about-card-stack:hover .about-card{rotate:var(--rest);translate:0 0}}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{--tw-bg-opacity: 1;background-color:rgb(248 241 228 / var(--tw-bg-opacity, 1))}::-webkit-scrollbar-thumb{border-radius:9999px;background-color:#b8214a99}::-webkit-scrollbar-thumb:hover{--tw-bg-opacity: 1;background-color:rgb(184 33 74 / var(--tw-bg-opacity, 1))}.hover\:-translate-y-1:hover{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:rotate-0:hover{--tw-rotate: 0deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@media (prefers-reduced-motion: reduce){.motion-reduce\:animate-none{animation:none}}@media (min-width: 640px){.sm\:w-40{width:10rem}.sm\:w-\[260px\]{width:260px}}@media (min-width: 768px){.md\:right-12{right:3rem}.md\:mb-14{margin-bottom:3.5rem}.md\:mb-20{margin-bottom:5rem}.md\:block{display:block}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:gap-10{gap:2.5rem}.md\:gap-12{gap:3rem}.md\:px-10{padding-left:2.5rem;padding-right:2.5rem}.md\:px-12{padding-left:3rem;padding-right:3rem}.md\:px-16{padding-left:4rem;padding-right:4rem}.md\:py-14{padding-top:3.5rem;padding-bottom:3.5rem}.md\:py-20{padding-top:5rem;padding-bottom:5rem}.md\:py-24{padding-top:6rem;padding-bottom:6rem}.md\:pb-10{padding-bottom:2.5rem}.md\:pb-24{padding-bottom:6rem}.md\:pb-28{padding-bottom:7rem}.md\:pt-16{padding-top:4rem}.md\:pt-20{padding-top:5rem}.md\:text-\[17px\]{font-size:17px}}@media (min-width: 1024px){.lg\:block{display:block}.lg\:hidden{display:none}.lg\:translate-x-3{--tw-translate-x: .75rem;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))}.lg\:grid-cols-\[minmax\(360px\,\.9fr\)_minmax\(520px\,1\.1fr\)\]{grid-template-columns:minmax(360px,.9fr) minmax(520px,1.1fr)}.lg\:justify-self-end{justify-self:end}}@media (min-width: 1280px){.xl\:bottom-2\.5{bottom:.625rem}.xl\:bottom-3{bottom:.75rem}.xl\:left-4{left:1rem}.xl\:left-\[18px\]{left:18px}.xl\:mb-20{margin-bottom:5rem}.xl\:block{display:block}.xl\:w-\[190px\]{width:190px}.xl\:translate-x-6{--tw-translate-x: 1.5rem;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))}.xl\:gap-12{gap:3rem}.xl\:text-2xl{font-size:1.5rem;line-height:2rem}.xl\:text-\[13px\]{font-size:13px}}
