/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}.resize{resize:both}}:root{--paper:#f7f5ef;--paper-deep:#efebe0;--ink:#202526;--ink-soft:#5b6260;--blue:#5c7f92;--blue-deep:#315c73;--yellow:#d9ad4a;--yellow-light:#ead79f;--line:#20252638;--white:#fffefa}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 13% 8%,#d9ad4a14,transparent 23rem),radial-gradient(circle at 92% 31%,#5c7f921a,transparent 26rem),var(--paper);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;font-size:16px;line-height:1.65}body:before{z-index:-1;pointer-events:none;content:"";opacity:.2;background-image:radial-gradient(circle at 20% 30%,#2025261c 0 .6px,#0000 .8px),radial-gradient(circle at 70% 64%,#20252614 0 .5px,#0000 .7px);background-size:11px 13px,17px 19px;position:fixed;inset:0}a{color:inherit;text-decoration:none}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px dashed var(--blue-deep);outline-offset:5px}main{overflow:hidden}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:88px;margin:0 auto;display:flex}.wordmark{letter-spacing:.16em;align-items:center;gap:10px;font-size:.76rem;font-weight:750;display:inline-flex}.wordmark-dot{background:var(--yellow);border:1.5px solid var(--ink);width:10px;height:10px;box-shadow:2px 2px 0 var(--ink);border-radius:50% 44% 56% 48%}nav{gap:clamp(20px,3.5vw,48px);font-size:.83rem;font-weight:650;display:flex}nav a{position:relative}nav a:after{content:"";background:var(--blue);transform-origin:100%;height:2px;transition:transform .18s;position:absolute;bottom:-7px;left:0;right:0;transform:scaleX(0)rotate(-1deg)}nav a:hover:after{transform-origin:0;transform:scaleX(1)rotate(-1deg)}.hero{grid-template-columns:1.08fr .92fr;align-items:center;gap:clamp(48px,8vw,118px);width:min(1180px,100% - 48px);min-height:690px;margin:0 auto;padding:72px 0 88px;display:grid}.kicker{color:var(--blue-deep);letter-spacing:.18em;margin:0 0 20px;font-size:.72rem;font-weight:800}.contact-section h2,.hero h1,.section-heading h2{letter-spacing:-.04em;margin:0;font-family:Iowan Old Style,Songti SC,STSong,Georgia,serif;font-weight:580}.sketch-circle,.sketch-underline{z-index:0;white-space:nowrap;position:relative}.sketch-underline:after{z-index:-1;content:"";background:var(--yellow-light);border-radius:52% 38% 45% 40%;height:13px;position:absolute;bottom:4px;left:-4px;right:-5px;transform:rotate(-1.5deg)}.hero-intro{color:var(--ink-soft);margin:32px 0 0;font-size:clamp(1rem,1.5vw,1.16rem);line-height:1.9}.hero-actions{align-items:center;gap:28px;margin-top:36px;display:flex}.button{align-items:center;gap:16px;font-size:.9rem;font-weight:750;display:inline-flex}.button-primary{color:var(--paper);background:var(--ink);border:1.5px solid var(--ink);box-shadow:3px 3px 0 var(--yellow);border-radius:50% 45% 48% 42%/16% 18% 14% 17%;padding:14px 20px;transition:transform .18s,box-shadow .18s}.button-primary:hover{box-shadow:6px 6px 0 var(--yellow);transform:translate(-2px,-2px)rotate(-.5deg)}.availability{color:var(--ink-soft);align-items:center;gap:9px;margin-top:38px;font-size:.78rem;display:flex}.status-dot{background:#668b69;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 5px #668b6921}.hero-visual{width:min(100%,430px);margin-left:auto;position:relative}.photo-frame{background:var(--paper-deep);border:2px solid var(--ink);border-radius:48% 44% 46% 43%/10% 12% 9% 11%;height:520px;position:relative;overflow:hidden;transform:rotate(1.6deg);box-shadow:10px 12px #5c7f9261}.photo-frame:after,.project-photo:after{pointer-events:none;content:"";border-radius:inherit;border:1px solid #ffffff8c;position:absolute;inset:8px}.photo-frame img{object-fit:cover;object-position:50% 52%;filter:saturate(.82)contrast(1.03);width:100%;height:100%;transition:transform .7s cubic-bezier(.16,1,.3,1);display:block}.hero-visual:hover .photo-frame img{transform:scale(1.035)}.photo-note{color:var(--blue-deep);align-items:flex-end;font-family:Comic Sans MS,Kaiti SC,cursive;font-size:.78rem;display:flex;position:absolute;top:-44px;right:-30px;transform:rotate(5deg)}.note-arrow{margin-left:7px;font-size:2.1rem;line-height:1}.pet-button{min-width:206px;color:var(--ink);background:var(--white);border:1.5px solid var(--ink);box-shadow:4px 4px 0 var(--yellow);cursor:pointer;border-radius:45% 50% 47% 44%/41% 44% 50% 45%;align-items:center;gap:12px;padding:12px 17px;font-family:inherit;font-size:.78rem;transition:transform .16s;display:flex;position:absolute;bottom:-31px;right:-14px}.pet-button:hover{transform:rotate(-2deg)translateY(-2px)}.pet-button:active{transform:translate(2px,2px)}.paw{width:29px;height:26px;display:inline-block;position:relative}.paw b,.paw i{background:var(--blue);border:1px solid var(--ink);display:block;position:absolute}.paw i{border-radius:50%;width:7px;height:9px}.paw i:nth-child(2){left:11px}.paw i:nth-child(3){right:1px;transform:rotate(18deg)}.paw b{border-radius:48% 52% 43% 47%;height:15px;bottom:0;left:4px;right:4px}.floating-heart{color:var(--yellow);font-size:1.1rem;animation:float-heart .9s ease-out forwards;position:absolute;top:-8px;right:16px}@keyframes float-heart{0%{opacity:0;transform:translateY(4px)rotate(-8deg)scale(.7)}30%{opacity:1}to{opacity:0;transform:translateY(-32px)rotate(8deg)scale(1.25)}}.manifesto{text-align:center;background:var(--ink);color:var(--paper);padding:108px max(24px,50vw - 500px);position:relative}.manifesto>p:first-child{color:var(--yellow-light);letter-spacing:.08em;margin:0 0 18px;font-size:.84rem}.manifesto-main{margin:0;font-family:Iowan Old Style,Songti SC,STSong,Georgia,serif;font-size:clamp(2rem,4vw,4rem);line-height:1.45}.scribble-loop{color:#f7f5ef73;font-family:Comic Sans MS,Kaiti SC,cursive;font-size:.72rem;position:absolute;bottom:24px;right:7%;transform:rotate(-5deg)}.section{width:min(1180px,100% - 48px);margin:0 auto;padding:126px 0}.section-heading{justify-content:space-between;align-items:flex-end;gap:48px;margin-bottom:56px;display:flex}.section-heading h2{font-size:clamp(2.3rem,4vw,4.25rem);line-height:1.15}.section-note{max-width:400px;color:var(--ink-soft);margin:0 0 5px;font-size:.88rem}.project-list{gap:18px;display:grid}.project-card{border:1.5px solid var(--ink);background:#fffefab8;border-radius:26px 22px 30px 20px;grid-template-columns:56px 1fr 230px;gap:28px;min-height:340px;padding:40px;transition:transform .22s,box-shadow .22s;display:grid;position:relative;overflow:hidden;box-shadow:4px 5px #2025261f}.project-card:nth-child(2n){border-radius:19px 29px 20px 31px}.project-card:hover{transform:translateY(-4px)rotate(-.18deg);box-shadow:8px 10px #315c732e}.project-featured{background:#ece8dd;grid-template-columns:56px minmax(0,1fr) minmax(260px,360px);min-height:450px}.project-number{padding-top:3px;font-family:Iowan Old Style,Georgia,serif;font-size:1.1rem;font-style:italic}.project-eyebrow{color:var(--blue-deep);letter-spacing:.15em;margin:0 0 20px;font-size:.66rem;font-weight:800}.project-main h3{letter-spacing:-.035em;margin:0;font-family:Iowan Old Style,Songti SC,Georgia,serif;font-size:clamp(2rem,3.6vw,3.5rem);font-weight:560;line-height:1.1}.project-subtitle{margin:11px 0 0;font-weight:750}.project-description{max-width:630px;color:var(--ink-soft);margin:26px 0 0;font-size:.88rem}.tag-list{flex-wrap:wrap;gap:8px;margin:26px 0 0;padding:0;list-style:none;display:flex}.tag-list li{color:var(--ink-soft);border:1px solid var(--line);background:#ffffff5c;border-radius:999px;padding:5px 11px;font-size:.7rem}.project-photo{background:var(--paper-deep);border:1.5px solid var(--ink);border-radius:48% 42% 46% 43%/12% 10% 13% 11%;align-self:stretch;min-height:310px;position:relative;overflow:hidden;transform:rotate(1.2deg)}.project-photo img{object-fit:cover;object-position:43% center;filter:saturate(.75)contrast(1.05);width:100%;height:100%;display:block}.photo-caption{border:1px solid var(--ink);background:#f7f5efe0;padding:5px 9px;font-family:Kaiti SC,cursive;font-size:.68rem;position:absolute;bottom:11px;right:12px;transform:rotate(-2deg)}.project-link{border-bottom:1.5px solid var(--ink);align-items:center;gap:13px;font-size:.78rem;font-weight:750;display:inline-flex;position:absolute;bottom:32px;right:39px}.project-featured .project-link{right:430px}.project-mark{place-self:center;width:170px;height:150px;position:relative}.project-mark span{border:2px solid var(--ink);display:block;position:absolute}.mark-02 span:first-child{box-shadow:6px 6px 0 var(--yellow-light);border-radius:10px 15px 9px 12px;inset:20px 18px 28px;transform:rotate(2deg)}.mark-02 span:nth-child(2),.mark-02 span:nth-child(3){border-width:0 0 2px;height:12px;left:38px;right:38px}.mark-02 span:nth-child(2){top:57px}.mark-02 span:nth-child(3){top:82px}.mark-03 span:first-child,.mark-03 span:nth-child(2),.mark-03 span:nth-child(3){border-radius:5px 10px 7px 8px;width:72px;height:82px}.mark-03 span:first-child{background:var(--yellow-light);top:22px;left:8px;transform:rotate(-8deg)}.mark-03 span:nth-child(2){background:var(--paper);top:38px;left:50px;transform:rotate(3deg)}.mark-03 span:nth-child(3){background:#bfd0d8;top:17px;right:3px;transform:rotate(9deg)}.case-study{border-top:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);background:#ece8dd}.case-block,.case-hero,.case-stats{width:min(1180px,100% - 48px);margin-left:auto;margin-right:auto}.case-hero{grid-template-columns:1fr .82fr;align-items:center;gap:clamp(48px,8vw,112px);min-height:720px;padding:104px 0 76px;display:grid}.case-index{color:var(--ink-soft);letter-spacing:.12em;margin:0 0 22px;font-family:Georgia,serif;font-size:.72rem;font-style:italic}.case-copy h2{letter-spacing:-.05em;margin:0;font-family:Iowan Old Style,Songti SC,Georgia,serif;font-size:clamp(3.5rem,6.5vw,6.6rem);font-weight:560;line-height:1.04}.case-lead{max-width:620px;color:var(--ink-soft);margin:32px 0 0;font-size:clamp(1rem,1.5vw,1.16rem);line-height:1.9}.case-actions{align-items:center;gap:24px;margin-top:36px;display:flex}.case-actions>span{color:var(--ink-soft);font-size:.72rem}.case-hero-art{background:var(--paper);border:1.5px solid var(--ink);min-height:610px;box-shadow:9px 10px 0 var(--blue);border-radius:48% 43% 46% 42%/8% 10% 7% 9%;position:relative;overflow:hidden;transform:rotate(1.2deg)}.case-hero-art img{object-fit:cover;width:100%;height:100%;display:block}.case-art-note{border:1px solid var(--ink);background:#f7f5efe8;padding:6px 11px;font-family:Kaiti SC,cursive;font-size:.74rem;position:absolute;bottom:18px;right:18px;transform:rotate(-2deg)}.case-stats{border-top:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);grid-template-columns:repeat(4,1fr);display:grid}.case-stats>div{text-align:center;border-right:1px solid var(--line);padding:30px 24px}.case-stats>div:last-child{border-right:0}.case-stats dt{font-family:Iowan Old Style,Georgia,serif;font-size:clamp(2.4rem,4vw,4.2rem);font-style:italic;line-height:1}.case-stats dd{color:var(--ink-soft);margin:8px 0 0;font-size:.72rem}.case-block{border-bottom:1px solid var(--line);padding:126px 0}.case-block:last-child{border-bottom:0}.case-block-title{max-width:760px}.case-block-title>span{color:var(--blue-deep);letter-spacing:.15em;font-size:.68rem;font-weight:800}.case-block-title h3,.delivery-block h3{letter-spacing:-.045em;margin:18px 0 0;font-family:Iowan Old Style,Songti SC,Georgia,serif;font-size:clamp(2.4rem,4.8vw,4.8rem);font-weight:550;line-height:1.15}.case-block-title>p{max-width:680px;color:var(--ink-soft);margin:23px 0 0}.problem-quote{max-width:970px;margin:70px 0;font-family:Iowan Old Style,Songti SC,Georgia,serif;font-size:clamp(1.8rem,3.6vw,3.6rem);line-height:1.5}.problem-quote em{color:var(--blue-deep);white-space:nowrap;font-style:normal;position:relative}.problem-quote em:after{content:"";background:var(--yellow);border-radius:50%;height:3px;position:absolute;bottom:-4px;left:-4px;right:-4px;transform:rotate(-1deg)}.compare-grid{grid-template-columns:1fr 50px 1fr;align-items:center;display:grid}.compare-grid article{border:1.5px solid var(--ink);background:#f7f5ef8a;border-radius:18px 23px 16px 21px;min-height:224px;padding:36px}.compare-grid .compare-highlight{box-shadow:6px 7px 0 var(--yellow);background:#d9e1e2;transform:rotate(-.5deg)}.compare-grid article>p{color:var(--blue-deep);letter-spacing:.13em;margin:0 0 14px;font-size:.68rem;font-weight:800}.compare-grid h4{margin:0 0 20px;font-family:Iowan Old Style,Songti SC,Georgia,serif;font-size:clamp(1.5rem,2.5vw,2.4rem);font-weight:550}.compare-grid article>span{color:var(--ink-soft);font-size:.85rem}.compare-arrow{text-align:center;font-family:Georgia,serif;font-size:1.7rem}.life-grid{grid-template-columns:1fr 1fr;gap:18px;margin-top:64px;display:grid}.life-card{border:1.5px solid var(--ink);background:#f7f5ef8f;border-radius:17px 24px 16px 21px;overflow:hidden}.life-card:nth-child(2),.life-card:nth-child(3){border-radius:25px 16px 23px 17px}.life-image{border-bottom:1px solid var(--line);background:#f6f2e7;height:330px;position:relative;overflow:hidden}.life-image img{object-fit:cover;width:100%;height:100%;display:block}.life-card>div:last-child{padding:26px 28px 30px}.life-card>div:last-child>span{color:var(--blue-deep);font-family:Georgia,serif;font-size:.7rem;font-style:italic}.life-card h4{margin:6px 0 3px;font-family:Iowan Old Style,Songti SC,Georgia,serif;font-size:1.65rem;font-weight:560}.life-card p{color:var(--ink-soft);margin:0;font-size:.8rem}.system-map{grid-template-columns:.76fr 1.2fr .9fr;align-items:center;gap:76px;margin:78px 0 54px;display:grid;position:relative}.system-origin,.system-output{text-align:center;background:var(--white);border:1.5px solid var(--ink);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;min-height:150px;padding:26px;font-family:Iowan Old Style,Songti SC,Georgia,serif;font-size:1.35rem;line-height:1.3;display:flex}.system-origin{box-shadow:6px 7px 0 var(--yellow)}.system-output{box-shadow:6px 7px 0 var(--blue)}.system-origin>span,.system-output>span{color:var(--ink-soft);margin-bottom:5px;font-family:inherit;font-size:.68rem}.system-states{grid-template-columns:1fr 1fr;gap:14px;display:grid}.system-states:after,.system-states:before{content:"";background:var(--ink);width:55px;height:1px;position:absolute;top:50%}.system-states:before{left:24%}.system-states:after{right:25%}.system-states span{background:var(--paper);border:1px solid var(--ink);text-align:center;border-radius:52% 45% 48% 43%;padding:21px 10px;font-size:.78rem;font-weight:750}.system-states span:nth-child(2n){background:#d9e1e2;transform:rotate(1deg)}.system-principle{background:var(--ink);color:var(--paper);text-align:center;border-radius:9px 14px 8px 12px;padding:27px 34px;font-family:Iowan Old Style,Songti SC,Georgia,serif;font-size:clamp(1.2rem,2.2vw,2rem)}.system-principle span{color:var(--yellow-light);letter-spacing:.12em;margin-right:22px;font-family:inherit;font-size:.66rem;font-weight:800}.iteration-block{grid-template-columns:1fr .86fr;align-items:center;gap:72px;display:grid}.iteration-list{border-top:1.5px solid var(--ink);margin-top:48px}.iteration-list article{border-bottom:1px solid var(--line);grid-template-columns:62px 1fr 30px 62px 1fr;align-items:center;gap:12px;padding:23px 0;display:grid}.iteration-list span{color:var(--blue-deep);letter-spacing:.11em;font-size:.57rem;font-weight:800}.iteration-list p{color:var(--ink-soft);margin:0;font-size:.76rem}.iteration-list i{font-family:Georgia,serif;font-style:normal}.iteration-art{background:var(--paper);border:1.5px solid var(--ink);min-height:560px;box-shadow:8px 9px 0 var(--yellow);border-radius:46% 43% 45% 42%/8% 10% 7% 9%;position:relative;overflow:hidden;transform:rotate(1deg)}.iteration-art img{object-fit:cover;width:100%;height:100%;display:block}.iteration-art>span{border:1px solid var(--ink);background:#f7f5efe6;padding:5px 10px;font-family:Kaiti SC,cursive;font-size:.7rem;position:absolute;bottom:17px;right:17px;transform:rotate(-2deg)}.delivery-block{grid-template-columns:1.15fr .72fr;gap:40px 80px;display:grid}.delivery-block>div:first-child>p:last-child{max-width:690px;color:var(--ink-soft);margin:24px 0 0}.delivery-block ul{border-top:1.5px solid var(--ink);margin:8px 0 0;padding:0;list-style:none}.delivery-block li{border-bottom:1px solid var(--line);align-items:center;gap:15px;padding:18px 0;font-size:.83rem;font-weight:720;display:flex}.delivery-block li span{color:var(--blue-deep);font-family:Georgia,serif;font-size:.65rem;font-style:italic}.validation-note{border:1.5px solid var(--ink);background:#d9e1e2;border-radius:12px 18px 11px 16px;grid-column:1/-1;grid-template-columns:150px 1fr;gap:28px;padding:27px 34px;display:grid;box-shadow:5px 6px #20252626}.validation-note strong{color:var(--blue-deep);letter-spacing:.08em;font-size:.76rem}.validation-note p{color:var(--ink-soft);margin:0;font-size:.82rem}.ability-section{border-top:1px solid var(--line)}.tiny-note{color:var(--blue-deep);margin-bottom:8px;font-family:Comic Sans MS,Kaiti SC,cursive;font-size:.76rem;transform:rotate(-3deg)}.ability-board{grid-template-columns:.7fr 1.3fr;gap:34px 70px;display:grid}.ability-tabs{border-top:1px solid var(--ink);flex-direction:column;display:flex}.ability-tabs button{color:var(--ink-soft);border:0;border-bottom:1px solid var(--line);cursor:pointer;text-align:left;background:0 0;align-items:center;gap:20px;padding:19px 4px;font-family:inherit;font-size:1rem;transition:padding .18s,color .18s;display:flex}.ability-tabs button span{font-family:Georgia,serif;font-size:.7rem;font-style:italic}.ability-tabs button.active{color:var(--ink);padding-left:16px;font-weight:750}.ability-tabs button.active:after{content:"→";color:var(--blue-deep);margin-left:auto}.ability-note{background:var(--white);border:1.5px solid var(--ink);min-height:270px;box-shadow:7px 8px 0 var(--yellow-light);border-radius:18px 23px 15px 20px;padding:clamp(34px,5vw,62px);transition:box-shadow .22s;position:relative}.ability-note.accent-blue{box-shadow:7px 8px #b9cdd5}.ability-note.accent-yellow{box-shadow:7px 8px 0 var(--yellow-light)}.ability-note.accent-ink{box-shadow:7px 8px #2025263d}.ability-label{color:var(--blue-deep);letter-spacing:.12em;margin:0 0 20px;font-size:.72rem;font-weight:800}.ability-note h3{margin:0;font-family:Iowan Old Style,Songti SC,Georgia,serif;font-size:clamp(1.8rem,3vw,3rem);font-weight:550;line-height:1.25}.ability-note>p:last-of-type{max-width:640px;color:var(--ink-soft);margin:22px 0 0}.note-corner{background:var(--paper);border-top:1.5px solid var(--ink);border-left:1.5px solid var(--ink);clip-path:polygon(100% 0,0 100%,100% 100%);width:42px;height:42px;position:absolute;bottom:-1.5px;right:-1.5px}.process-line{grid-column:1/-1;grid-template-columns:repeat(4,1fr);margin:30px 0 0;padding:0;list-style:none;display:grid}.process-line li{border-top:1px solid var(--ink);padding-top:28px;font-size:.82rem;font-weight:700;position:relative}.process-line li:before{content:"";background:var(--paper);border:1.5px solid var(--ink);border-radius:50%;width:9px;height:9px;position:absolute;top:-5px;left:0}.process-line li:nth-child(2):before{background:var(--blue)}.process-line li:nth-child(3):before{background:var(--yellow)}.process-line span{color:var(--ink-soft);margin-right:11px;font-family:Georgia,serif;font-size:.68rem;font-style:italic}.experience-section{border-top:1px solid var(--line)}.timeline{border-top:1.5px solid var(--ink)}.timeline article{border-bottom:1px solid var(--line);grid-template-columns:240px 1fr;gap:36px;padding:31px 0;display:grid}.timeline-date{color:var(--blue-deep);font-family:Georgia,serif;font-size:.78rem;font-style:italic}.timeline h3{margin:0;font-size:1.08rem}.timeline .role{margin:3px 0 13px;font-size:.8rem;font-weight:750}.timeline article div:last-child>p:last-child{max-width:720px;color:var(--ink-soft);margin:0;font-size:.86rem}.contact-section{background:var(--yellow-light);border-top:1.5px solid var(--ink);text-align:center;padding:126px max(24px,50vw - 590px);position:relative}.contact-section:after,.contact-section:before{content:"";border:2px solid var(--blue-deep);border-radius:50%;position:absolute}.contact-section:before{width:12px;height:12px;box-shadow:20px -9px 0 -3px var(--yellow-light),20px -9px 0 -1px var(--blue-deep);top:48px;left:7%;transform:rotate(-14deg)}.contact-section:after{border-width:2px 0 0;border-radius:50%;width:48px;height:30px;bottom:54px;right:8%;transform:rotate(-12deg)}.contact-section h2{font-size:clamp(2.5rem,5vw,5.2rem);line-height:1.2}.sketch-circle:after{z-index:-1;content:"";border:2px solid var(--blue-deep);border-radius:52% 45% 56% 48%/45% 54% 43% 52%;position:absolute;inset:-9px -20px -7px;transform:rotate(-2deg)}.email-link{border-bottom:1.5px solid var(--ink);align-items:center;gap:17px;margin-top:46px;font-size:clamp(1rem,2vw,1.35rem);font-weight:750;display:inline-flex}.contact-meta{letter-spacing:.08em;text-transform:uppercase;flex-wrap:wrap;justify-content:center;gap:14px 36px;margin-top:70px;font-size:.7rem;font-weight:720;display:flex}footer{color:#f7f5efb3;background:var(--ink);justify-content:space-between;align-items:center;gap:20px;padding:26px max(24px,50vw - 590px);font-size:.68rem;display:flex}footer a{color:var(--paper)}@media (max-width:0) and (min-width:1px){body.is-opening{overflow:hidden}.opening-sequence{z-index:1000;color:var(--paper);background:var(--ink);pointer-events:none;clip-path:inset(0);grid-template-rows:auto 1fr auto auto;padding:clamp(24px,3vw,48px);animation:opening-exit 3.7s cubic-bezier(.76,0,.24,1) forwards;display:grid;position:fixed;inset:0}.opening-sequence:before{z-index:-1;content:"";background:var(--blue-deep);transform-origin:0;animation:opening-color-sweep 1.2s cubic-bezier(.76,0,.24,1) 2.35s forwards;position:absolute;inset:0;transform:scaleX(0)}.opening-meta{letter-spacing:.16em;opacity:0;justify-content:space-between;font-size:.65rem;font-weight:750;animation:opening-meta-in .9s cubic-bezier(.22,1,.36,1) .2s forwards;display:flex}.opening-title{letter-spacing:-.075em;align-self:center;font-family:Iowan Old Style,Georgia,serif;font-size:clamp(7rem,19vw,19rem);font-weight:500;line-height:.62}.opening-line{display:block;overflow:hidden}.opening-line i{transform-origin:0 100%;font-style:normal;animation:opening-word-in 1.45s cubic-bezier(.16,1,.3,1) .34s forwards;display:block;transform:translateY(115%)scaleX(.62)scaleY(1.18)}.opening-line-offset{text-align:right;padding-right:.08em}.opening-line-offset i{transform-origin:100% 100%;animation-delay:.54s}.opening-progress{background:#f7f5ef38;height:1px;overflow:hidden}.opening-progress span{background:var(--yellow);transform-origin:0;width:100%;height:100%;animation:opening-progress 2.2s cubic-bezier(.76,0,.24,1) .35s forwards;display:block;transform:scaleX(0)}.opening-sequence>p{letter-spacing:.08em;opacity:0;margin:13px 0 0;font-family:Georgia,serif;font-size:.72rem;font-style:italic;animation:opening-meta-in .9s 1.3s forwards}.motion-ready .site-header{opacity:0;animation:header-arrive 1.25s cubic-bezier(.16,1,.3,1) 2.82s forwards;transform:translateY(-28px)}.hero-title-line{line-height:1.05;display:block;overflow:hidden}.hero-title-line>span{display:block}.hero-title i{font-style:normal}.motion-ready .hero-title-line>span{transform-origin:0 100%;animation:hero-title-arrive 1.6s cubic-bezier(.16,1,.3,1) 2.5s forwards;transform:translateY(118%)scaleX(.73)scaleY(1.16)}.motion-ready .hero-title-line:nth-child(2)>span{animation-delay:2.66s}.motion-ready .availability,.motion-ready .hero .kicker,.motion-ready .hero-actions,.motion-ready .hero-intro,.motion-ready .pet-button,.motion-ready .photo-note{opacity:0;animation:hero-detail-arrive 1.15s cubic-bezier(.16,1,.3,1) forwards;transform:translateY(24px)}.motion-ready .hero .kicker{animation-delay:2.44s}.motion-ready .hero-intro{animation-delay:2.94s}.motion-ready .hero-actions{animation-delay:3.08s}.motion-ready .availability,.motion-ready .photo-note{animation-delay:3.18s}.motion-ready .pet-button{animation-delay:3.32s}.motion-ready.intro-complete .availability,.motion-ready.intro-complete .hero .kicker,.motion-ready.intro-complete .hero-actions,.motion-ready.intro-complete .hero-image-reveal,.motion-ready.intro-complete .hero-intro,.motion-ready.intro-complete .hero-title-line>span,.motion-ready.intro-complete .pet-button,.motion-ready.intro-complete .photo-note,.motion-ready.intro-complete .site-header{animation:none}.motion-ready.intro-complete .hero-image-reveal:before{display:none}.hero-image-reveal:before{z-index:3;content:"";background:var(--blue-deep);transform-origin:bottom;animation:hero-curtain 1.65s cubic-bezier(.76,0,.24,1) 2.56s forwards;position:absolute;inset:-2px;transform:scaleY(1)}.motion-ready .hero-image-reveal{clip-path:inset(0 0 100%);animation:hero-image-clip 1.7s cubic-bezier(.76,0,.24,1) 2.46s forwards}.kinetic-heading{--kinetic-stroke:#202526d1;color:#202526d1;letter-spacing:-.075em;pointer-events:none;text-transform:uppercase;margin:0 0 66px;font-family:Arial Black,Impact,Helvetica Neue,sans-serif;font-size:clamp(5rem,13vw,10rem);font-weight:900;line-height:.68;overflow:hidden}.kinetic-heading span{transform-origin:0 100%;display:block;transform:translateY(120%)scaleX(.62)scaleY(1.18)}.kinetic-heading span:nth-child(2){color:#0000;-webkit-text-stroke:1.5px var(--kinetic-stroke);text-align:right;transform-origin:100% 100%;padding-right:.06em}.kinetic-heading-dark{--kinetic-stroke:#f7f5ef33;color:#f7f5ef1a;margin:0;font-size:clamp(4.6rem,13vw,11rem);position:absolute;inset:42px 3% auto}.kinetic-heading-dark span:nth-child(2){color:#0000}.case-hero{position:relative}.kinetic-heading-case{--kinetic-stroke:#20252624;z-index:0;color:#20252613;margin:0;position:absolute;inset:38px 0 auto}.case-copy,.case-hero-art{z-index:1;position:relative}.kinetic-heading-small{font-size:clamp(4.4rem,10vw,8rem)}.kinetic-heading-contact{--kinetic-stroke:#20252633;color:#20252617;margin:0;position:absolute;inset:32px 2% auto}.reveal-pending .kinetic-heading span{transition:transform 1.55s cubic-bezier(.16,1,.3,1)}.reveal-pending .kinetic-heading span:nth-child(2){transition-delay:.1s}.reveal-pending.is-revealed .kinetic-heading span{transform:translateY(0)scaleX(1)scaleY(1)}.reveal-pending .case-block-title,.reveal-pending .case-copy,.reveal-pending .manifesto>p,.reveal-pending .problem-quote,.reveal-pending .section-heading,.reveal-pending .system-principle,.reveal-pending .validation-note{opacity:0;transition:opacity 1.25s cubic-bezier(.16,1,.3,1) .28s,transform 1.25s cubic-bezier(.16,1,.3,1) .28s;transform:translateY(72px)}.reveal-pending.is-revealed .case-block-title,.reveal-pending.is-revealed .case-copy,.reveal-pending.is-revealed .manifesto>p,.reveal-pending.is-revealed .problem-quote,.reveal-pending.is-revealed .section-heading,.reveal-pending.is-revealed .system-principle,.reveal-pending.is-revealed .validation-note{opacity:1;transform:translateY(0)}.reveal-pending .ability-board>*,.reveal-pending .compare-arrow,.reveal-pending .compare-grid article,.reveal-pending .delivery-block li,.reveal-pending .iteration-list article,.reveal-pending .stagger-item,.reveal-pending .system-map>*,.reveal-pending .timeline article,.reveal-pending.timeline article{opacity:0;transform-origin:bottom;transition:opacity 1.2s cubic-bezier(.16,1,.3,1),transform 1.2s cubic-bezier(.16,1,.3,1);transform:translateY(86px)scaleY(.92)}.reveal-pending.is-revealed .ability-board>*,.reveal-pending.is-revealed .compare-arrow,.reveal-pending.is-revealed .compare-grid article,.reveal-pending.is-revealed .delivery-block li,.reveal-pending.is-revealed .iteration-list article,.reveal-pending.is-revealed .stagger-item,.reveal-pending.is-revealed .system-map>*,.reveal-pending.is-revealed .timeline article,.reveal-pending.is-revealed.timeline article{opacity:1;transform:translateY(0)scaleY(1)}.reveal-pending.is-revealed .ability-board>:first-child,.reveal-pending.is-revealed .compare-grid article:first-child,.reveal-pending.is-revealed .delivery-block li:first-child,.reveal-pending.is-revealed .iteration-list article:first-child,.reveal-pending.is-revealed .stagger-item:first-child,.reveal-pending.is-revealed .system-map>:first-child,.reveal-pending.is-revealed .timeline article:first-child{transition-delay:.34s}.reveal-pending.is-revealed .ability-board>:nth-child(2),.reveal-pending.is-revealed .compare-arrow,.reveal-pending.is-revealed .delivery-block li:nth-child(2),.reveal-pending.is-revealed .iteration-list article:nth-child(2),.reveal-pending.is-revealed .stagger-item:nth-child(2),.reveal-pending.is-revealed .system-map>:nth-child(2),.reveal-pending.is-revealed .timeline article:nth-child(2){transition-delay:.48s}.reveal-pending.is-revealed .ability-board>:nth-child(3),.reveal-pending.is-revealed .compare-grid article:nth-child(3),.reveal-pending.is-revealed .delivery-block li:nth-child(3),.reveal-pending.is-revealed .iteration-list article:nth-child(3),.reveal-pending.is-revealed .stagger-item:nth-child(3),.reveal-pending.is-revealed .system-map>:nth-child(3),.reveal-pending.is-revealed .timeline article:nth-child(3){transition-delay:.62s}.reveal-pending.is-revealed .delivery-block li:nth-child(4),.reveal-pending.is-revealed .stagger-item:nth-child(4){transition-delay:.76s}.case-stats.reveal-pending>div{opacity:0;transition:opacity 1.1s cubic-bezier(.16,1,.3,1),transform 1.1s cubic-bezier(.16,1,.3,1);transform:translateY(54px)}.case-stats.reveal-pending.is-revealed>div{opacity:1;transform:translateY(0)}.case-stats.reveal-pending.is-revealed>div:first-child{transition-delay:.12s}.case-stats.reveal-pending.is-revealed>div:nth-child(2){transition-delay:.24s}.case-stats.reveal-pending.is-revealed>div:nth-child(3){transition-delay:.36s}.case-stats.reveal-pending.is-revealed>div:nth-child(4){transition-delay:.48s}.image-reveal{isolation:isolate}.reveal-pending .image-reveal:before{z-index:3;content:"";background:var(--blue-deep);transform-origin:top;transition:transform 1.5s cubic-bezier(.76,0,.24,1) .42s;position:absolute;inset:-2px;transform:scaleY(1)}.reveal-pending.is-revealed .image-reveal:before{transform:scaleY(0)}.motion-ready [data-parallax]{transform:translate3d(0,var(--parallax-y,0),0) scale(1.07)}.reveal-pending .image-reveal img{clip-path:inset(0 0 100%);transform:translate3d(0,var(--parallax-y,0),0) scale(1.16);transition:clip-path 1.5s cubic-bezier(.76,0,.24,1) .31s,transform 2.2s cubic-bezier(.16,1,.3,1) .3s}.reveal-pending.is-revealed .image-reveal img{clip-path:inset(0);transform:translate3d(0,var(--parallax-y,0),0) scale(1.07)}@keyframes opening-word-in{0%{transform:translateY(115%)scaleX(.62)scaleY(1.18)}to{transform:translateY(0)scaleX(1)scaleY(1)}}@keyframes opening-progress{to{transform:scaleX(1)}}@keyframes opening-meta-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes opening-color-sweep{to{transform:scaleX(1)}}@keyframes opening-exit{0%,78%{visibility:visible;clip-path:inset(0)}to{visibility:hidden;clip-path:inset(0 0 100%)}}@keyframes header-arrive{to{opacity:1;transform:translateY(0)}}@keyframes hero-title-arrive{to{transform:translateY(0)scaleX(1)scaleY(1)}}@keyframes hero-detail-arrive{to{opacity:1;transform:translateY(0)}}@keyframes hero-image-clip{to{clip-path:inset(0)}}@keyframes hero-curtain{to{transform:scaleY(0)}}@media (max-width:940px){.hero{grid-template-columns:1fr .8fr;gap:38px}.hero h1{font-size:clamp(3.5rem,8vw,5.5rem)}.project-card,.project-featured{grid-template-columns:44px 1fr}.project-mark,.project-photo{display:none}.project-featured .project-link{right:39px}.case-hero{grid-template-columns:1fr .75fr;gap:44px}.iteration-block{gap:44px}.system-map{gap:40px}.system-states:after,.system-states:before{display:none}}@media (max-width:760px){.opening-sequence{padding:22px 18px}.opening-title{font-size:clamp(6rem,29vw,10rem);line-height:.7}.opening-meta span:last-child{display:none}.kinetic-heading{margin-bottom:42px;font-size:clamp(4.1rem,21vw,7rem);line-height:.72}.kinetic-heading-case{top:28px}.kinetic-heading-contact,.kinetic-heading-dark{font-size:clamp(4.2rem,20vw,7rem)}.site-header{width:min(100% - 32px,1180px);height:72px}.wordmark{font-size:.65rem}nav{gap:18px}nav a:nth-child(2),nav a:nth-child(3){display:none}.hero{grid-template-columns:1fr;width:min(100% - 32px,1180px);padding:54px 0 82px}.hero h1{font-size:clamp(3.1rem,15vw,4.8rem)}.desktop-break{display:none}.hero-actions{flex-wrap:wrap}.hero-visual{width:88%;margin:32px auto 0}.photo-frame{height:min(118vw,520px)}.photo-note{right:-3px}.pet-button{right:-8px}.manifesto{padding:82px 24px}.section{width:min(100% - 32px,1180px);padding:90px 0}.section-heading{flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:38px}.section-note br{display:none}.project-card,.project-featured{grid-template-columns:1fr;gap:8px;min-height:0;padding:26px 24px 82px}.project-number{color:var(--blue-deep)}.project-featured .project-link,.project-link{bottom:30px;left:24px;right:auto}.case-block,.case-hero,.case-stats{width:min(100% - 32px,1180px)}.case-hero{grid-template-columns:1fr;min-height:0;padding:88px 0 70px}.case-copy h2{font-size:clamp(3.1rem,14.5vw,4.7rem)}.case-actions{flex-direction:column;align-items:flex-start}.case-hero-art{min-height:132vw}.case-stats{grid-template-columns:1fr 1fr}.case-stats>div:nth-child(2){border-right:0}.case-stats>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.case-block{padding:88px 0}.problem-quote{margin:48px 0}.problem-quote em{white-space:normal}.compare-grid{grid-template-columns:1fr;gap:16px}.compare-arrow{transform:rotate(90deg)}.life-grid{grid-template-columns:1fr}.life-image{height:66vw;max-height:390px}.system-map{grid-template-columns:1fr;gap:25px}.system-origin,.system-output{width:78%;min-height:128px;margin:0 auto}.system-principle{padding:26px 20px}.system-principle span{margin:0 0 10px;display:block}.iteration-block{grid-template-columns:1fr}.iteration-list article{grid-template-columns:54px 1fr}.iteration-list i{display:none}.iteration-art{min-height:76vw}.delivery-block{grid-template-columns:1fr}.validation-note{grid-column:1;grid-template-columns:1fr;gap:10px}.ability-board{grid-template-columns:1fr;gap:30px}.ability-note{min-height:300px}.process-line{grid-column:1;grid-template-columns:1fr 1fr}.process-line li{min-height:76px}.timeline article{grid-template-columns:1fr;gap:8px}.contact-section{padding:90px 24px}.contact-section h2 br{display:none}footer{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.opening-sequence{display:none}.case-stats.reveal-pending>div,.motion-ready .availability,.motion-ready .hero .kicker,.motion-ready .hero-actions,.motion-ready .hero-intro,.motion-ready .hero-title-line>span,.motion-ready .pet-button,.motion-ready .photo-note,.motion-ready .site-header,.reveal-pending .ability-board>*,.reveal-pending .case-block-title,.reveal-pending .case-copy,.reveal-pending .compare-grid article,.reveal-pending .delivery-block li,.reveal-pending .iteration-list article,.reveal-pending .kinetic-heading span,.reveal-pending .manifesto>p,.reveal-pending .problem-quote,.reveal-pending .section-heading,.reveal-pending .stagger-item,.reveal-pending .system-map>*{opacity:1!important;clip-path:none!important;transform:none!important}.hero-image-reveal:before,.reveal-pending .image-reveal:before{display:none}}.portfolio-v2{flex-direction:column;display:flex}.portfolio-v2>.hero{order:1}.portfolio-v2>.manifesto{order:2;display:none}.portfolio-v2>.experience-section{order:3}.portfolio-v2>.work-section{order:4}.portfolio-v2>.case-study{order:5}.portfolio-v2>.ability-section{order:6}.portfolio-v2>.contact-section{order:7}.portfolio-v2>footer{order:8}.portfolio-v2 .site-header{z-index:20;width:auto;height:66px;color:var(--paper);-webkit-backdrop-filter:blur(14px);background:#20252694;border:1px solid #f7f5ef59;border-radius:999px;padding:8px 10px 8px 20px;position:fixed;top:22px;left:max(24px,50vw - 590px);right:max(24px,50vw - 590px);box-shadow:0 15px 45px #0f121329}.portfolio-v2 .site-header .wordmark-dot{background:var(--yellow);border-color:var(--paper);box-shadow:none}.portfolio-v2 .site-header nav{align-items:center;gap:clamp(16px,2.5vw,36px)}.portfolio-v2 .site-header nav a:after{background:var(--yellow)}.portfolio-v2 .site-header .nav-contact{color:var(--ink);background:var(--yellow-light);border:1px solid #f7f5ef99;border-radius:999px;padding:10px 18px}.portfolio-v2 .site-header .nav-contact:after{display:none}.portfolio-v2 .hero{isolation:isolate;width:100%;min-height:100svh;color:var(--paper);background:var(--ink);grid-template-columns:1fr;align-items:end;margin:0;padding:clamp(150px,20vh,220px) max(24px,50vw - 590px) clamp(68px,10vh,110px);display:grid;position:relative;overflow:hidden}.hero-video-wash,.hero-video-wrap,.hero-video-wrap:after{position:absolute;inset:0}.hero-video-wrap{z-index:-2;background:linear-gradient(125deg,#315c7385,#20252647),url(/zheng-qing-and-border-collie.jpg) 50% 42%/cover;overflow:hidden}.hero-video-wrap:after{content:"";z-index:1;opacity:.28;mix-blend-mode:soft-light;background-image:radial-gradient(circle at 20% 30%,#f7f5ef2e 0 .6px,#0000 .8px),radial-gradient(circle at 70% 64%,#f7f5ef1f 0 .5px,#0000 .7px);background-size:11px 13px,17px 19px}.hero-video{object-fit:cover;object-position:center 42%;filter:saturate(.72)contrast(.92);width:100%;height:100%;display:block;transform:scale(1.02)}.hero-video-wash{z-index:1;background:linear-gradient(90deg,#171c1de6,#171c1dad 46%,#171c1d2e 76%),linear-gradient(#0000 53%,#171c1db8),linear-gradient(135deg,#315c7333,#d9ad4a14)}.portfolio-v2 .hero-copy{z-index:2;width:min(100%,1080px);position:relative}.portfolio-v2 .hero-name{color:#f7f5efb3;letter-spacing:.16em;margin:0 0 18px;font-family:Georgia,serif;font-size:.7rem;font-style:italic}.portfolio-v2 .hero .kicker{color:var(--yellow-light);margin-bottom:26px}.portfolio-v2 .hero h1{max-width:1060px;color:var(--paper);text-wrap:balance;font-size:clamp(4.6rem,9.2vw,9.5rem);line-height:.88}.portfolio-v2 .hero-title-line{padding-bottom:.08em}.portfolio-v2 .hero-intro{color:#f7f5efc7;max-width:620px;margin-top:34px}.portfolio-v2 .availability{color:#f7f5efad}.portfolio-v2 .hero-visual{z-index:2;width:auto;margin:0;position:absolute;bottom:72px;right:max(24px,50vw - 590px)}.portfolio-v2 .hero-visual .photo-frame,.portfolio-v2 .hero-visual .photo-note{display:none}.portfolio-v2 .hero-visual>.pet-button{color:var(--paper);-webkit-backdrop-filter:blur(12px);background:#202526a3;border-color:#f7f5ef94;position:relative;bottom:auto;right:auto;box-shadow:4px 4px #d9ad4acc}.portfolio-v2 .manifesto{place-content:center;min-height:64svh;display:grid;overflow:hidden}.portfolio-v2 .experience-section{border-top:0;width:min(1280px,100% - 48px);padding-top:clamp(110px,12vw,180px)}.portfolio-v2 .experience-section .kinetic-heading{margin-bottom:78px;font-size:clamp(5.4rem,12.8vw,11rem)}.profile-grid{grid-template-columns:minmax(340px,.78fr) minmax(0,1.22fr);align-items:stretch;gap:clamp(42px,7vw,96px);margin-bottom:92px;display:grid}.profile-portrait{background:var(--paper-deep);border:1.5px solid var(--ink);border-radius:30px 24px 34px 26px;min-height:610px;margin:0;position:relative;overflow:hidden;box-shadow:8px 10px #5c7f924d}.profile-portrait img{object-fit:cover;object-position:center 48%;filter:saturate(.76)contrast(1.02);width:100%;height:calc(100% + 44px);display:block}.profile-portrait figcaption{color:var(--paper);letter-spacing:.12em;text-align:center;text-transform:uppercase;-webkit-backdrop-filter:blur(10px);background:#202526b8;border:1px solid #f7f5ef6b;border-radius:999px;padding:10px 14px;font-size:.65rem;font-weight:750;position:absolute;bottom:17px;left:18px;right:18px}.profile-content{flex-direction:column;padding-top:4px;display:flex}.profile-intro{max-width:760px;margin:0 0 48px;font-family:Iowan Old Style,Songti SC,STSong,Georgia,serif;font-size:clamp(1.55rem,2.5vw,2.55rem);line-height:1.52}.profile-facts{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;margin:0;display:grid}.profile-facts>div{border-bottom:1px solid var(--line);min-height:96px;padding:20px 22px 16px 0}.profile-facts>div:nth-child(2n){border-left:1px solid var(--line);padding-left:24px}.profile-facts dt,.profile-stats dd{color:var(--ink-soft);font-size:.68rem}.profile-facts dt{color:var(--blue-deep);letter-spacing:.08em;margin-bottom:7px;font-weight:800}.profile-facts dd{color:var(--ink);margin:0;font-size:.85rem;font-weight:720}.profile-facts a{border-bottom:1px solid var(--ink)}.profile-stats{grid-template-columns:repeat(3,1fr);margin:auto 0 0;padding-top:38px;display:grid}.profile-stats>div{border-right:1px solid var(--line);min-height:126px;padding:0 22px}.profile-stats>div:first-child{padding-left:0}.profile-stats>div:last-child{border-right:0}.profile-stats dt{color:var(--blue-deep);letter-spacing:-.06em;font-family:Iowan Old Style,Georgia,serif;font-size:clamp(3.1rem,5vw,5rem);font-style:italic;font-weight:560;line-height:1}.profile-stats dd{margin:9px 0 0}.career-label{color:var(--ink-soft);letter-spacing:.14em;justify-content:space-between;margin-bottom:22px;font-size:.65rem;font-weight:800;display:flex}.portfolio-v2 .experience-section .timeline{grid-template-columns:repeat(3,1fr);display:grid;position:relative}.portfolio-v2 .experience-section .timeline article{border-bottom:0;min-height:300px;padding:38px 38px 18px 0;display:block;position:relative}.portfolio-v2 .experience-section .timeline article:not(:last-child){border-right:1px solid var(--line)}.portfolio-v2 .experience-section .timeline article:not(:first-child){padding-left:38px}.portfolio-v2 .experience-section .timeline article:before{content:"";background:var(--yellow);border:1.5px solid var(--ink);width:12px;height:12px;position:absolute;top:-7px;left:0;transform:rotate(45deg)}.portfolio-v2 .experience-section .timeline article:not(:first-child):before{left:38px}.portfolio-v2 .timeline h3{margin-bottom:4px;font-size:1.08rem}.portfolio-v2 .work-section{border-top:1px solid var(--line);width:min(1280px,100% - 48px);padding-top:clamp(120px,13vw,190px)}.portfolio-v2 .work-section .project-list{gap:26px}.portfolio-v2 .project-card{border-radius:30px;grid-template-columns:58px minmax(0,.95fr) minmax(330px,1.05fr);gap:34px;min-height:480px;padding:48px 48px 92px}.portfolio-v2 .project-featured{background:linear-gradient(135deg,#ead79f3b,#0000 50%),#ece8dd;min-height:650px}.portfolio-v2 .project-main{align-self:center}.portfolio-v2 .project-description{max-width:560px;font-size:.92rem}.portfolio-v2 .project-photo{border-radius:24px 30px 22px 28px;min-height:500px;transform:rotate(.6deg)}.portfolio-v2 .project-photo img{object-fit:cover;object-position:52% center;filter:saturate(.9)contrast(1.02)}.portfolio-v2 .project-featured .project-link{right:calc(50% + 42px)}.portfolio-v2 .project-mark{width:260px;height:230px;transform:scale(1.24)}.portfolio-v2 .case-study{background:linear-gradient(180deg,#5c7f920f,transparent 18%),var(--paper-deep)}.portfolio-v2 .ability-section{background:radial-gradient(circle at 92% 18%,#5c7f9229,transparent 32rem),var(--paper);width:100%;padding:clamp(120px,13vw,190px) max(24px,50vw - 640px)}.portfolio-v2 .ability-section .section-heading{width:min(100%,1280px);margin-left:auto;margin-right:auto}.portfolio-v2 .strength-pet{flex:none;position:relative;bottom:auto;right:auto}.portfolio-v2 .ability-board{width:min(100%,1280px);margin:0 auto;display:block}.capability-cards{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.capability-card{background:var(--white);border:1.5px solid var(--ink);border-radius:26px 22px 30px 20px;min-height:430px;padding:34px 32px;transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden;box-shadow:5px 6px #2025261a}.capability-card:nth-child(2){background:#ead79f80;border-radius:22px 30px 20px 28px}.capability-card:nth-child(3){color:var(--paper);background:var(--blue-deep);border-radius:30px 20px 28px 22px}.capability-card:hover{z-index:1;transform:translateY(-10px);box-shadow:10px 12px #315c732e}.capability-index{font-family:Georgia,serif;font-size:.78rem;font-style:italic;display:block}.capability-card>p{color:var(--blue-deep);letter-spacing:.12em;margin:72px 0 14px;font-size:.7rem;font-weight:800}.capability-card h3{margin:0;font-family:Iowan Old Style,Songti SC,Georgia,serif;font-size:clamp(1.75rem,2.6vw,2.8rem);font-weight:560;line-height:1.22}.capability-card>div{color:var(--ink-soft);margin-top:26px;font-size:.85rem}.capability-arrow{font-size:2.3rem;transition:transform .5s cubic-bezier(.16,1,.3,1);position:absolute;bottom:24px;right:28px}.capability-card:hover .capability-arrow{transform:translate(5px,5px)}.portfolio-v2 .contact-section{flex-direction:column;justify-content:center;align-items:center;min-height:100svh;padding:clamp(130px,18vh,220px) max(24px,50vw - 640px) 64px;display:flex;overflow:hidden}.portfolio-v2 .contact-section h2{max-width:1180px;font-size:clamp(3.7rem,8vw,8.7rem);line-height:.98}.portfolio-v2 .contact-section .email-link{margin-top:clamp(50px,8vh,90px)}.portfolio-v2 .contact-meta{margin-top:auto;padding-top:72px}.reveal-pending .career-label,.reveal-pending .profile-grid{opacity:0;transform-origin:bottom;transition:opacity 1.25s cubic-bezier(.16,1,.3,1) .34s,transform 1.25s cubic-bezier(.16,1,.3,1) .34s;transform:translateY(86px)scaleY(.96)}.reveal-pending .career-label{transition-delay:.5s}.reveal-pending.is-revealed .career-label,.reveal-pending.is-revealed .profile-grid{opacity:1;transform:translateY(0)scaleY(1)}@media (max-width:1020px){.profile-grid{grid-template-columns:.9fr 1.1fr;gap:42px}.profile-portrait{min-height:560px}.profile-stats{grid-template-columns:1fr 1fr;gap:22px 0}.profile-stats>div{min-height:100px}.profile-stats>div:nth-child(2){border-right:0}.profile-stats>div:nth-child(3){padding-left:0}.portfolio-v2 .project-card,.portfolio-v2 .project-featured{grid-template-columns:48px 1fr}.portfolio-v2 .project-mark,.portfolio-v2 .project-photo{display:none}.portfolio-v2 .project-featured .project-link{right:48px}}@media (max-width:760px){.portfolio-v2 .site-header{height:58px;padding-left:14px;top:14px;left:16px;right:16px}.portfolio-v2 .site-header nav a{display:none}.portfolio-v2 .site-header nav .nav-contact{padding:8px 14px;display:block}.portfolio-v2 .hero{width:100%;min-height:100svh;padding:128px 18px 46px}.portfolio-v2 .hero-video{object-position:57% 42%}.portfolio-v2 .hero-video-wash{background:linear-gradient(#171c1d6b 28%,#171c1de0),linear-gradient(110deg,#315c7359,#d9ad4a14)}.portfolio-v2 .hero h1{font-size:clamp(3.55rem,17.4vw,5.4rem);line-height:.92}.portfolio-v2 .hero-intro{margin-top:26px}.portfolio-v2 .hero-visual{display:none}.portfolio-v2 .manifesto{min-height:56svh}.portfolio-v2 .experience-section,.portfolio-v2 .work-section{width:min(100% - 32px,1280px)}.portfolio-v2 .experience-section .kinetic-heading{margin-bottom:48px}.profile-grid{grid-template-columns:1fr;margin-bottom:70px}.profile-portrait{min-height:min(132vw,580px)}.profile-content{padding-top:0}.profile-intro{font-size:clamp(1.45rem,7vw,2rem)}.profile-facts{grid-template-columns:1fr}.profile-facts>div:nth-child(2n){border-left:0;padding-left:0}.profile-stats{grid-template-columns:1fr 1fr}.profile-stats>div{padding:0 16px 0 0}.profile-stats>div:nth-child(3){grid-column:1/-1}.career-label{flex-direction:column;align-items:flex-start;gap:8px}.portfolio-v2 .experience-section .timeline{grid-template-columns:1fr}.portfolio-v2 .experience-section .timeline article{border-right:0;border-bottom:1px solid var(--line);border-left:1px solid var(--line);min-height:0;padding:34px 0 34px 28px}.portfolio-v2 .experience-section .timeline article:not(:first-child){padding-left:28px}.portfolio-v2 .experience-section .timeline article:before,.portfolio-v2 .experience-section .timeline article:not(:first-child):before{top:38px;left:-7px}.portfolio-v2 .timeline-date{margin-bottom:14px}.portfolio-v2 .project-card,.portfolio-v2 .project-featured{grid-template-columns:1fr;min-height:0;padding:28px 24px 88px}.portfolio-v2 .project-main h3{font-size:clamp(2.35rem,12vw,4rem)}.portfolio-v2 .project-featured .project-link{left:24px;right:auto}.portfolio-v2 .ability-section{padding-left:16px;padding-right:16px}.portfolio-v2 .ability-section .section-heading{gap:28px}.capability-cards{grid-template-columns:1fr}.capability-card{min-height:350px}.capability-card>p{margin-top:48px}.portfolio-v2 .process-line{margin-top:56px}.portfolio-v2 .contact-section{min-height:100svh;padding:118px 18px 42px}.portfolio-v2 .contact-section h2{font-size:clamp(3.2rem,15vw,5.2rem)}}@media (prefers-reduced-motion:reduce){.hero-video{display:none}.reveal-pending .career-label,.reveal-pending .profile-grid{opacity:1;transform:none}}.portfolio-v2 section[id]{scroll-margin-top:96px}body.motion-ready .portfolio-v2 .availability,body.motion-ready .portfolio-v2 .hero .kicker,body.motion-ready .portfolio-v2 .hero .pet-button,body.motion-ready .portfolio-v2 .hero-actions,body.motion-ready .portfolio-v2 .hero-image-reveal,body.motion-ready .portfolio-v2 .hero-intro,body.motion-ready .portfolio-v2 .hero-title-line>span,body.motion-ready .portfolio-v2 .site-header{opacity:1!important;clip-path:none!important;animation:none!important;transform:none!important}.portfolio-v2 .hero-image-reveal:before{display:none}.portfolio-v2 .project-photo{aspect-ratio:941/1672;background:var(--paper);border-width:1px;border-radius:18px 22px 20px 16px;place-self:center end;width:min(100%,360px);min-height:0;transform:rotate(.25deg);box-shadow:5px 6px #5c7f926b}.portfolio-v2 .project-photo img{object-fit:contain;object-position:center}.portfolio-v2 .case-hero-art{aspect-ratio:941/1672;background:var(--paper);border-width:1px;border-radius:20px 24px 22px 18px;justify-self:end;width:min(100%,420px);min-height:0;transform:rotate(.25deg);box-shadow:6px 7px #5c7f92b8}.portfolio-v2 .case-hero-art img{object-fit:contain}.portfolio-v2 .iteration-art{aspect-ratio:4/3;background:var(--paper);border-width:1px;border-radius:22px 18px 24px 20px;width:100%;min-height:0;transform:rotate(.2deg);box-shadow:6px 7px #d9ad4ad1}.portfolio-v2 .iteration-art img{object-fit:contain}@media (max-width:760px){.portfolio-v2 .case-hero-art{justify-self:center;width:min(88vw,420px);min-height:0;margin:12px auto 0}.portfolio-v2 .iteration-art{min-height:0}}body{font-size:17px}.portfolio-v2 .site-header{-webkit-backdrop-filter:blur(24px)saturate(135%);background:#f7f5efb3;border-color:#ffffffb8;box-shadow:0 14px 40px #2025261f,inset 0 0 0 1px #2025260f}.portfolio-v2 .site-header nav a{border-radius:999px;padding:8px 10px;transition:color .32s cubic-bezier(.16,1,.3,1),background-color .32s cubic-bezier(.16,1,.3,1)}.portfolio-v2 .site-header nav a:hover{color:var(--paper);background:var(--blue-deep)}.portfolio-v2 .site-header nav a:after{display:none}.portfolio-v2 .site-header .nav-contact:hover{color:var(--ink);background:var(--yellow-light);border-color:var(--yellow)}.portfolio-v2 .button-primary,.portfolio-v2 .pet-button{transition:color .36s cubic-bezier(.16,1,.3,1),background-color .36s cubic-bezier(.16,1,.3,1),border-color .36s cubic-bezier(.16,1,.3,1),box-shadow .36s cubic-bezier(.16,1,.3,1)}.portfolio-v2 .button-primary:hover{color:var(--paper);background:var(--blue-deep);border-color:var(--blue-deep);box-shadow:4px 4px 0 var(--yellow);transform:none}.portfolio-v2 .button-text{padding:8px 4px;transition:color .32s cubic-bezier(.16,1,.3,1),border-color .32s cubic-bezier(.16,1,.3,1)}.portfolio-v2 .button-text:hover{color:var(--yellow-light);border-color:var(--yellow-light)}.portfolio-v2 .pet-button:hover{color:var(--paper);background:var(--blue-deep);border-color:var(--blue-deep);transform:none}.portfolio-v2 .project-link{transition:color .3s,border-color .3s}.portfolio-v2 .project-link:hover{color:var(--blue-deep);border-color:var(--blue-deep)}.portfolio-v2 .hero{background:radial-gradient(circle at 82% 34%,#5c7f926b,#0000 31rem),linear-gradient(135deg,#202526,#28383d 58%,#315c73 130%);min-height:max(680px,88svh);padding-top:clamp(150px,18vh,190px);padding-bottom:clamp(58px,8vh,84px)}.hero-type-art{z-index:-1;pointer-events:none;background-image:linear-gradient(#f7f5ef14 1px,#0000 0),linear-gradient(90deg,#f7f5ef14 1px,#0000 0);background-size:72px 72px;position:absolute;inset:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#0000004d 36%,#000);mask-image:linear-gradient(90deg,#0000,#0000004d 36%,#000)}.hero-monogram{color:#0000;letter-spacing:-.16em;-webkit-text-stroke:1px #f7f5ef38;font-family:Arial Black,Impact,Helvetica Neue,sans-serif;font-size:clamp(18rem,42vw,42rem);font-weight:900;line-height:.8;position:absolute;bottom:-.15em;right:-.02em}.hero-axis{color:#f7f5ef9e;letter-spacing:.2em;justify-items:end;gap:10px;font-size:.62rem;font-weight:800;display:grid;position:absolute;top:50%;right:max(24px,50vw - 590px);transform:translateY(-50%)}.hero-axis span{border-bottom:1px solid #f7f5ef3d;padding-bottom:5px}.hero-edition{color:var(--yellow-light);letter-spacing:.16em;font-family:Georgia,serif;font-size:.68rem;font-style:italic;position:absolute;bottom:42px;right:max(24px,50vw - 590px)}.portfolio-v2 .hero-copy{max-width:900px}.portfolio-v2 .hero h1{max-width:900px;font-size:clamp(4rem,7.4vw,7.4rem);line-height:.94}.portfolio-v2 .hero-intro{font-size:clamp(1.08rem,1.55vw,1.24rem)}.portfolio-v2 .experience-section .kinetic-heading,.portfolio-v2 .kinetic-heading{margin-bottom:40px;font-size:clamp(3.5rem,7.4vw,6.6rem);line-height:.76}.portfolio-v2 .experience-section,.portfolio-v2 .work-section{padding-top:clamp(94px,9vw,128px);padding-bottom:clamp(86px,8vw,118px)}.portfolio-v2 .section-heading{margin-bottom:42px}.portfolio-v2 .section-heading h2{font-size:clamp(2.4rem,3.8vw,3.8rem)}.capability-card>div,.portfolio-v2 .project-description,.portfolio-v2 .section-note,.portfolio-v2 .timeline article div:last-child>p:last-child{font-size:.98rem;line-height:1.75}.profile-grid{gap:clamp(34px,5vw,72px);margin-bottom:64px}.profile-portrait{min-height:520px}.profile-intro{margin-bottom:34px;font-size:clamp(1.55rem,2.2vw,2.2rem)}.profile-facts>div{min-height:84px;padding-top:16px}.profile-facts dd{font-size:.94rem}.profile-stats{padding-top:28px}.profile-stats>div{min-height:106px}.portfolio-v2 .experience-section .timeline article{min-height:250px;padding-top:32px}.portfolio-v2 .timeline-date{margin-bottom:26px}.portfolio-v2 .project-card{min-height:400px;padding:38px 38px 80px}.portfolio-v2 .project-featured{min-height:535px}.portfolio-v2 .project-main h3{font-size:clamp(2.5rem,4.3vw,4.4rem)}.portfolio-v2 .project-photo{width:min(100%,300px)}.portfolio-v2 .case-study{display:none}.portfolio-v2 .ability-section{padding-top:clamp(94px,9vw,128px);padding-bottom:clamp(90px,8vw,118px)}.capability-card{min-height:350px;padding:30px 28px}.capability-card>p{margin-top:46px}.capability-card h3{font-size:clamp(1.7rem,2.3vw,2.45rem)}.portfolio-v2 .process-line{margin-top:54px}.portfolio-v2 .contact-section{min-height:78svh;padding-top:clamp(110px,14vh,160px);padding-bottom:48px}.portfolio-v2 .contact-section h2{max-width:1000px;font-size:clamp(3.5rem,6.8vw,6.6rem)}@media (max-width:760px){body{font-size:16px}.portfolio-v2 .hero{min-height:86svh;padding-top:124px}.hero-type-art{background-size:48px 48px}.hero-monogram{font-size:clamp(13rem,67vw,20rem);bottom:.04em;right:-.08em}.hero-axis{display:none}.hero-edition{bottom:26px;right:18px}.portfolio-v2 .hero h1{font-size:clamp(3.3rem,15vw,4.8rem)}.portfolio-v2 .experience-section .kinetic-heading,.portfolio-v2 .kinetic-heading{margin-bottom:30px;font-size:clamp(3rem,14vw,4.8rem)}.portfolio-v2 .ability-section,.portfolio-v2 .experience-section,.portfolio-v2 .work-section{padding-top:82px;padding-bottom:82px}.profile-portrait{min-height:min(116vw,500px)}.portfolio-v2 .project-card,.portfolio-v2 .project-featured{padding:26px 22px 78px}.capability-card{min-height:315px}.portfolio-v2 .contact-section{min-height:78svh;padding-top:100px}}:root{--paper:#fff;--paper-deep:#f6f7f9;--ink:#0a0a0a;--ink-soft:#9b9b9b;--blue:#1683ff;--blue-deep:#0878f9;--yellow:#1683ff;--yellow-light:#e2efff;--line:#0a0a0a21;--white:#fff}body{color:var(--ink);background:var(--paper)}body:before{display:none}.portfolio-v2 .site-header{color:var(--ink);background:#ffffffb8;border-color:#0a0a0a14;box-shadow:0 14px 42px #0a0a0a14,inset 0 0 0 1px #ffffff9e}.portfolio-v2 .site-header .wordmark-dot{background:var(--blue);border-color:var(--ink)}.portfolio-v2 .site-header .nav-contact{color:var(--white);background:var(--blue);border-color:var(--blue)}.portfolio-v2 .site-header .nav-contact:hover,.portfolio-v2 .site-header nav a:hover{color:var(--white);background:var(--ink);border-color:var(--ink)}.portfolio-v2 .hero{color:var(--ink);border-bottom:1px solid var(--line);background:radial-gradient(circle at 83% 37%,#1683ff1f,#0000 27rem),linear-gradient(#fff,#fbfdff)}.hero-type-art{background-image:linear-gradient(#0a0a0a0e 1px,#0000 0),linear-gradient(90deg,#0a0a0a0e 1px,#0000 0)}.hero-monogram{-webkit-text-stroke-color:#1683ff38}.hero-axis{color:#0a0a0a6b}.hero-axis span{border-color:#0a0a0a24}.hero-edition,.portfolio-v2 .hero .kicker{color:var(--blue)}.portfolio-v2 .hero h1{color:var(--ink)}.portfolio-v2 .hero-name{color:var(--ink-soft)}.portfolio-v2 .availability,.portfolio-v2 .hero-intro{color:#6f6f6f}.portfolio-v2 .status-dot{background:var(--blue);box-shadow:0 0 0 5px #1683ff1f}.portfolio-v2 .hero-actions .button-primary{color:var(--white);background:var(--blue);border-color:var(--blue);box-shadow:4px 4px #1683ff33}.portfolio-v2 .hero-actions .button-primary:hover{color:var(--white);background:var(--ink);border-color:var(--ink);box-shadow:4px 4px #0a0a0a2e}.portfolio-v2 .hero-actions .button-text{color:var(--ink);border-color:var(--ink)}.portfolio-v2 .hero-actions .button-text:hover{color:var(--blue);border-color:var(--blue)}.sketch-underline:after{background:#1683ff2e}.portfolio-v2 .kinetic-heading{--kinetic-stroke:#0a0a0a38;color:#0a0a0ae6}.portfolio-v2 .experience-section,.portfolio-v2 .work-section{background:var(--paper)}.portfolio-v2 .project-card{background:#fff;border-color:#0a0a0ad1;box-shadow:4px 5px #0a0a0a14}.portfolio-v2 .project-featured{background:linear-gradient(135deg,#1683ff14,#0000 52%),#f7faff}.portfolio-v2 .project-card:hover{box-shadow:8px 10px #1683ff1f}.portfolio-v2 .ability-section{background:radial-gradient(circle at 92% 18%,#1683ff1a,#0000 30rem),#f7f8fa}.capability-card:nth-child(2){background:#eaf3ff}.capability-card:nth-child(3){color:var(--white);background:var(--blue)}.capability-card:nth-child(3)>p{color:#ffffffbd}.capability-card:nth-child(3)>div{color:#ffffffd1}.portfolio-v2 .contact-section{background:#eef5ff}.portfolio-v2 footer{color:#ffffffb8;background:var(--ink)}.focus-copy{padding-left:34px;position:relative}.focus-copy:before{content:"!";color:var(--blue);font-family:Arial,sans-serif;font-size:1.12em;font-weight:850;position:absolute;top:-.04em;left:0}.focus-copy [data-focus-line]{color:#a9a9a9;transition:color .52s cubic-bezier(.16,1,.3,1);display:block}.focus-copy [data-focus-line]+[data-focus-line]{margin-top:.34em}.focus-copy [data-focus-line].is-active{color:var(--blue)}[data-scroll-number]{color:var(--ink);transition:color .62s cubic-bezier(.16,1,.3,1)}[data-scroll-number].is-active{color:var(--blue)}.profile-stats>div:nth-child(2) [data-scroll-number]{transition-delay:90ms}.profile-stats>div:nth-child(3) [data-scroll-number]{transition-delay:.18s}.profile-stats dd{color:var(--ink-soft)}@media (max-width:760px){.focus-copy{padding-left:25px}.focus-copy [data-focus-line]{line-height:1.5}}@media (prefers-reduced-motion:reduce){.focus-copy [data-focus-line],[data-scroll-number]{transition:none}}.portfolio-v2 .kinetic-heading{display:none}.portfolio-v2 .project-featured .project-photo{aspect-ratio:4/3;background:#fff;border:1px solid #0a0a0ac2;border-radius:20px 24px 18px 22px;place-self:center end;width:min(100%,560px);min-height:0;display:block;box-shadow:7px 8px #1683ff29}.portfolio-v2 .project-featured .project-photo img{object-fit:contain;object-position:center}.portfolio-v2 .project-featured .project-link{min-height:46px;color:var(--white);background:var(--blue);border:1px solid var(--blue);border-radius:999px;justify-content:center;padding:11px 18px;transition:color .36s cubic-bezier(.16,1,.3,1),background-color .36s cubic-bezier(.16,1,.3,1),border-color .36s cubic-bezier(.16,1,.3,1),box-shadow .36s cubic-bezier(.16,1,.3,1);box-shadow:0 8px 24px #1683ff33}.portfolio-v2 .project-featured .project-link:hover{color:var(--white);background:var(--ink);border-color:var(--ink);box-shadow:0 10px 28px #0a0a0a2e}.portfolio-v2 .tag-list li{cursor:default;transition:color .32s cubic-bezier(.16,1,.3,1),background-color .32s cubic-bezier(.16,1,.3,1),border-color .32s cubic-bezier(.16,1,.3,1),transform .32s cubic-bezier(.16,1,.3,1)}.portfolio-v2 .tag-list li:hover{color:var(--white);background:var(--blue);border-color:var(--blue);transform:translateY(-2px)}.reveal-pending .section-heading{opacity:1;transition:none;transform:none}.reveal-pending .section-heading>div{overflow:hidden}.reveal-pending .section-heading .kicker{opacity:0;transition:opacity .9s cubic-bezier(.16,1,.3,1) .18s,transform .9s cubic-bezier(.16,1,.3,1) .18s;transform:translateY(22px)}.reveal-pending .section-heading h2{opacity:0;clip-path:inset(0 0 100%);transform-origin:0 100%;transition:opacity 1ms linear .12s,clip-path 1.45s cubic-bezier(.76,0,.24,1) .12s,transform 1.65s cubic-bezier(.16,1,.3,1) .12s;transform:translateY(112%)scaleX(.62)scaleY(1.2)}.reveal-pending.is-revealed .section-heading .kicker,.reveal-pending.is-revealed .section-heading h2{opacity:1;clip-path:inset(0);transform:translateY(0)scaleX(1)scaleY(1)}.contact-section.reveal-pending>.kicker{opacity:0;transition:opacity .9s cubic-bezier(.16,1,.3,1) .16s,transform .9s cubic-bezier(.16,1,.3,1) .16s;transform:translateY(24px)}.contact-section.reveal-pending h2{opacity:0;clip-path:inset(0 0 100%);transform-origin:bottom;transition:opacity 1ms linear .1s,clip-path 1.45s cubic-bezier(.76,0,.24,1) .1s,transform 1.65s cubic-bezier(.16,1,.3,1) .1s;transform:translateY(104%)scaleX(.64)scaleY(1.18)}.contact-section.reveal-pending.is-revealed h2,.contact-section.reveal-pending.is-revealed>.kicker{opacity:1;clip-path:inset(0);transform:translateY(0)scaleX(1)scaleY(1)}.reveal-pending .capability-card,.reveal-pending .project-card{opacity:0;clip-path:inset(16% 0 24% round 30px);transform-origin:bottom;transition:opacity .9s cubic-bezier(.16,1,.3,1),clip-path 1.45s cubic-bezier(.76,0,.24,1),transform 1.55s cubic-bezier(.16,1,.3,1),box-shadow .5s cubic-bezier(.16,1,.3,1);transform:translateY(120px)scaleX(.95)scaleY(.84)}.reveal-pending.is-revealed .capability-card,.reveal-pending.is-revealed .project-card{opacity:1;clip-path:inset(0 round 30px);transform:translateY(0)scaleX(1)scaleY(1)}.reveal-pending.is-revealed .capability-card:first-child,.reveal-pending.is-revealed .project-card:first-child{transition-delay:.3s}.reveal-pending.is-revealed .capability-card:nth-child(2),.reveal-pending.is-revealed .project-card:nth-child(2){transition-delay:.47s}.reveal-pending.is-revealed .capability-card:nth-child(3),.reveal-pending.is-revealed .project-card:nth-child(3){transition-delay:.64s}@media (max-width:1020px){.portfolio-v2 .project-featured .project-photo{grid-column:1/-1;justify-self:center;width:100%;margin-top:24px;display:block}.portfolio-v2 .project-featured{padding-bottom:104px}}@media (max-width:760px){.portfolio-v2 .project-featured .project-photo{border-radius:16px 20px 15px 18px;margin-top:20px;box-shadow:5px 6px #1683ff24}.portfolio-v2 .project-featured .project-link{width:fit-content;bottom:28px;left:22px;right:auto}.contact-section.reveal-pending h2,.reveal-pending .section-heading h2{transform:translateY(108%)scaleX(.72)scaleY(1.16)}}@media (prefers-reduced-motion:reduce){.contact-section.reveal-pending h2,.contact-section.reveal-pending>.kicker,.reveal-pending .capability-card,.reveal-pending .project-card,.reveal-pending .section-heading .kicker,.reveal-pending .section-heading h2{opacity:1;clip-path:none;transform:none}}.portfolio-v2 .case-study{background:var(--white);border-color:var(--line);margin-top:-1px;display:block}.portfolio-v2 .case-study>:not(.problem-block):not(.system-block){display:none}.portfolio-v2 .case-study .problem-block,.portfolio-v2 .case-study .system-block{border-bottom:1px solid var(--line);flex-direction:column;justify-content:center;width:100%;min-height:100svh;margin:0;padding:clamp(112px,10vw,156px) max(24px,50vw - 590px);display:flex}.portfolio-v2 .case-study .problem-block{background:radial-gradient(circle at 94% 13%,#1683ff14,transparent 25rem),var(--white)}.portfolio-v2 .case-study .system-block{background:linear-gradient(135deg,#1683ff13,#0000 36%),#f7faff}.portfolio-v2 .case-study .case-block-title{max-width:880px}.portfolio-v2 .case-study .case-block-title>span{color:var(--blue);letter-spacing:.16em;align-items:center;gap:9px;font-size:.78rem;display:inline-flex}.portfolio-v2 .case-study .case-block-title>span:before{content:"";background:var(--blue);border-radius:50%;width:7px;height:7px}.portfolio-v2 .case-study .case-block-title h3{max-width:900px;margin-top:21px;font-size:clamp(3.2rem,6.4vw,6.5rem);font-weight:560;line-height:1.03}.portfolio-v2 .case-study .case-block-title>p{color:#737373;max-width:760px;margin-top:28px;font-size:clamp(1rem,1.35vw,1.18rem);line-height:1.85}.portfolio-v2 .case-focus-copy{letter-spacing:-.045em;max-width:1100px;margin:clamp(54px,7vw,92px) 0;padding-left:40px;font-family:inherit;font-size:clamp(1.85rem,3.75vw,3.9rem);font-weight:650;line-height:1.35;position:relative}.portfolio-v2 .case-focus-copy:before{color:var(--blue);content:"!";font-size:1.12em;font-weight:760;line-height:1;position:absolute;top:.08em;left:0}.portfolio-v2 .case-focus-copy [data-focus-line]{color:#b1b1b1;transition:color .56s cubic-bezier(.16,1,.3,1);display:block}.portfolio-v2 .case-focus-copy [data-focus-line]+[data-focus-line]{margin-top:.16em}.portfolio-v2 .case-focus-copy [data-focus-line].is-active{color:var(--blue)}.portfolio-v2 .compare-grid{grid-template-columns:1fr 72px 1fr}.portfolio-v2 .compare-grid article{background:var(--white);border:1px solid #d8d8d8;border-radius:28px;min-height:248px;padding:clamp(30px,3.4vw,48px)}.portfolio-v2 .compare-grid .compare-highlight{color:var(--white);background:var(--blue);border-color:var(--blue);box-shadow:none;transform:none}.portfolio-v2 .compare-grid article>p{color:var(--blue);letter-spacing:.15em;font-size:.74rem}.portfolio-v2 .compare-grid .compare-highlight>p,.portfolio-v2 .compare-grid .compare-highlight>span{color:#ffffffbd}.portfolio-v2 .compare-grid h4{margin-bottom:24px;font-size:clamp(1.65rem,2.5vw,2.65rem)}.portfolio-v2 .compare-grid article>span{color:#787878;font-size:clamp(.88rem,1.1vw,1rem);line-height:1.75;display:block}.portfolio-v2 .compare-arrow{color:var(--blue);font-size:2rem}.portfolio-v2 .case-problem-note{border-left:5px solid var(--blue);background:#f4f4f4;grid-template-columns:150px 1fr;gap:26px;margin-top:clamp(34px,4vw,52px);padding:25px 30px;display:grid}.portfolio-v2 .case-problem-note>span{color:var(--blue);letter-spacing:.14em;font-size:.72rem;font-weight:800}.portfolio-v2 .case-problem-note>p{color:#454545;max-width:850px;margin:0;font-size:clamp(.95rem,1.25vw,1.1rem);line-height:1.75}.portfolio-v2 .system-map{grid-template-columns:.8fr 1.35fr .95fr;gap:clamp(44px,6vw,86px);margin:clamp(54px,6vw,78px) 0 34px}.portfolio-v2 .system-origin,.portfolio-v2 .system-output{background:var(--white);min-height:168px;box-shadow:none;border:1px solid #d1d1d1;border-radius:28px;font-family:inherit;font-size:clamp(1.15rem,1.75vw,1.55rem);font-weight:700}.portfolio-v2 .system-origin{border-color:var(--blue)}.portfolio-v2 .system-output{color:var(--white);background:var(--blue);border-color:var(--blue)}.portfolio-v2 .system-origin>span,.portfolio-v2 .system-output>span{color:#8c8c8c;font-family:inherit;font-size:.72rem;font-weight:600}.portfolio-v2 .system-output>span{color:#ffffffb3}.portfolio-v2 .system-states{gap:12px}.portfolio-v2 .system-states:after,.portfolio-v2 .system-states:before{background:var(--blue);width:clamp(35px,4vw,58px)}.portfolio-v2 .system-states:before{left:22.5%}.portfolio-v2 .system-states:after{right:24%}.portfolio-v2 .system-states span,.portfolio-v2 .system-states span:nth-child(2n){color:var(--ink);background:var(--white);border:1px solid #d5d5d5;border-radius:17px;padding:24px 12px;font-size:.88rem;transform:none}.portfolio-v2 .system-states span:nth-child(2),.portfolio-v2 .system-states span:nth-child(3){color:var(--blue);background:#edf6ff;border-color:#1683ff59}.portfolio-v2 .system-principle{color:var(--white);background:var(--ink);border-radius:24px;padding:30px clamp(24px,4vw,50px);font-family:inherit;font-size:clamp(1.15rem,2vw,1.8rem);font-weight:650;line-height:1.6}.portfolio-v2 .system-principle span{color:#78b8ff;font-family:inherit;font-size:.7rem}.portfolio-v2 .case-system-facts{border-top:1px solid #d7d7d7;grid-template-columns:repeat(3,1fr);margin:clamp(32px,4vw,54px) 0 0;display:grid}.portfolio-v2 .case-system-facts>div{border-right:1px solid #d7d7d7;padding:28px 28px 10px 0}.portfolio-v2 .case-system-facts>div+div{padding-left:28px}.portfolio-v2 .case-system-facts>div:last-child{border-right:0}.portfolio-v2 .case-system-facts dt{letter-spacing:-.06em;font-size:clamp(3rem,5vw,5.5rem);font-weight:650;line-height:1}.portfolio-v2 .case-system-facts dd{color:#777;margin:12px 0 0;font-size:.82rem}.reveal-pending .case-block-title{opacity:1;transition:none;transform:none}.reveal-pending .case-block-title>span{opacity:0;transition:opacity .9s cubic-bezier(.16,1,.3,1) .14s,transform .9s cubic-bezier(.16,1,.3,1) .14s;transform:translateY(22px)}.reveal-pending .case-block-title h3{opacity:0;clip-path:inset(0 0 100%);transform-origin:0 100%;transition:opacity 1ms linear .1s,clip-path 1.45s cubic-bezier(.76,0,.24,1) .1s,transform 1.65s cubic-bezier(.16,1,.3,1) .1s;transform:translateY(108%)scaleX(.64)scaleY(1.18)}.reveal-pending .case-block-title>p{opacity:0;transition:opacity 1.05s cubic-bezier(.16,1,.3,1) .42s,transform 1.05s cubic-bezier(.16,1,.3,1) .42s;transform:translateY(38px)}.reveal-pending.is-revealed .case-block-title h3,.reveal-pending.is-revealed .case-block-title>p,.reveal-pending.is-revealed .case-block-title>span{opacity:1;clip-path:inset(0);transform:translateY(0)scaleX(1)scaleY(1)}.reveal-pending .case-problem-note,.reveal-pending .case-system-facts{opacity:0;transition:opacity 1.1s cubic-bezier(.16,1,.3,1) .72s,transform 1.1s cubic-bezier(.16,1,.3,1) .72s;transform:translateY(54px)}.reveal-pending.is-revealed .case-problem-note,.reveal-pending.is-revealed .case-system-facts{opacity:1;transform:translateY(0)}@media (max-width:1020px){.portfolio-v2 .system-map{gap:32px}.portfolio-v2 .system-states:after,.portfolio-v2 .system-states:before{display:none}}@media (max-width:760px){.portfolio-v2 .case-study .problem-block,.portfolio-v2 .case-study .system-block{min-height:0;padding:98px 20px 88px}.portfolio-v2 .case-study .case-block-title h3{font-size:clamp(2.85rem,13vw,4.1rem)}.portfolio-v2 .case-focus-copy{margin:50px 0;padding-left:27px;font-size:clamp(1.65rem,7.6vw,2.25rem)}.portfolio-v2 .compare-grid{grid-template-columns:1fr;gap:16px}.portfolio-v2 .compare-grid article{min-height:0;padding:28px 24px}.portfolio-v2 .compare-arrow{transform:rotate(90deg)}.portfolio-v2 .case-problem-note{grid-template-columns:1fr;gap:10px;padding:24px 20px}.portfolio-v2 .system-map{grid-template-columns:1fr;gap:18px;margin:48px 0 28px}.portfolio-v2 .system-origin,.portfolio-v2 .system-output{width:100%;min-height:132px}.portfolio-v2 .system-principle{text-align:left}.portfolio-v2 .case-system-facts>div,.portfolio-v2 .case-system-facts>div+div{padding:22px 12px 4px}.portfolio-v2 .case-system-facts>div:first-child{padding-left:0}.portfolio-v2 .case-system-facts dt{font-size:clamp(2.1rem,10vw,3rem)}.portfolio-v2 .case-system-facts dd{font-size:.68rem;line-height:1.45}}@media (prefers-reduced-motion:reduce){.reveal-pending .case-block-title h3,.reveal-pending .case-block-title>p,.reveal-pending .case-block-title>span,.reveal-pending .case-problem-note,.reveal-pending .case-system-facts{opacity:1;clip-path:none;transition:none;transform:none}.portfolio-v2 .case-focus-copy [data-focus-line]{transition:none}}}@media (max-width:940px){.hero{grid-template-columns:1fr .8fr;gap:38px}.hero h1{font-size:clamp(3.5rem,8vw,5.5rem)}.project-card,.project-featured{grid-template-columns:44px 1fr}.project-mark,.project-photo{display:none}.project-featured .project-link{right:39px}.case-hero{grid-template-columns:1fr .75fr;gap:44px}.iteration-block{gap:44px}.system-map{gap:40px}.system-states:after,.system-states:before{display:none}}@media (max-width:760px){.site-header{width:min(100% - 32px,1180px);height:72px}.wordmark{font-size:.65rem}nav{gap:18px}nav a:nth-child(2),nav a:nth-child(3){display:none}.hero{grid-template-columns:1fr;width:min(100% - 32px,1180px);padding:54px 0 82px}.hero h1{font-size:clamp(3.1rem,15vw,4.8rem)}.desktop-break{display:none}.hero-actions{flex-wrap:wrap}.hero-visual{width:88%;margin:32px auto 0}.photo-frame{height:min(118vw,520px)}.photo-note{right:-3px}.pet-button{right:-8px}.manifesto{padding:82px 24px}.section{width:min(100% - 32px,1180px);padding:90px 0}.section-heading{flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:38px}.section-note br{display:none}.project-card,.project-featured{grid-template-columns:1fr;gap:8px;min-height:0;padding:26px 24px 82px}.project-number{color:var(--blue-deep)}.project-featured .project-link,.project-link{bottom:30px;left:24px;right:auto}.case-block,.case-hero,.case-stats{width:min(100% - 32px,1180px)}.case-hero{grid-template-columns:1fr;min-height:0;padding:88px 0 70px}.case-copy h2{font-size:clamp(3.1rem,14.5vw,4.7rem)}.case-actions{flex-direction:column;align-items:flex-start}.case-hero-art{min-height:132vw}.case-stats{grid-template-columns:1fr 1fr}.case-stats>div:nth-child(2){border-right:0}.case-stats>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.case-block{padding:88px 0}.problem-quote{margin:48px 0}.problem-quote em{white-space:normal}.compare-grid{grid-template-columns:1fr;gap:16px}.compare-arrow{transform:rotate(90deg)}.ability-board,.delivery-block,.iteration-block,.life-grid,.system-map{grid-template-columns:1fr}.life-image{height:66vw;max-height:390px}.system-map{gap:25px}.system-origin,.system-output{width:78%;min-height:128px;margin:0 auto}.system-principle{padding:26px 20px}.system-principle span{margin:0 0 10px;display:block}.iteration-list article{grid-template-columns:54px 1fr}.iteration-list i{display:none}.iteration-art{min-height:76vw}.validation-note{grid-column:1;grid-template-columns:1fr;gap:10px}.ability-board{gap:30px}.ability-note{min-height:300px}.process-line{grid-column:1;grid-template-columns:1fr 1fr}.process-line li{min-height:76px}.timeline article{grid-template-columns:1fr;gap:8px}.contact-section{padding:90px 24px}.contact-section h2 br{display:none}footer{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}section[id]{scroll-margin-top:112px}.site-header{z-index:100;-webkit-backdrop-filter:blur(18px);background:#f7f5efe0;border:1px solid #20252629;border-radius:18px;width:min(1180px,100% - 48px);height:68px;margin:0;padding:0 20px;position:fixed;top:16px;left:50%;transform:translate(-50%);box-shadow:0 12px 34px #20252614}.hero{min-height:100svh;padding-top:132px}.paw i{width:6px;height:8px;top:1px}.paw i:first-child{left:0;transform:rotate(-24deg)}.paw i:nth-child(2){top:-2px;left:7px;transform:rotate(-8deg)}.paw i:nth-child(3){top:-2px;left:15px;right:auto;transform:rotate(8deg)}.paw i:nth-child(4){right:0;transform:rotate(24deg)}.paw b{left:2px;right:2px}.experience-section{background:radial-gradient(circle at 92% 8%,#5c7f9221,transparent 28rem),var(--paper-deep);border-top:1.5px solid var(--ink);border-bottom:1px solid var(--line);width:100%;min-height:100svh;margin:0;padding:clamp(104px,9vw,142px) max(24px,50vw - 590px)}.experience-heading h2{font-size:clamp(3.1rem,5.8vw,6.1rem);line-height:.95}.experience-heading .section-note{color:var(--blue-deep);letter-spacing:.1em;font-size:.74rem;font-weight:760}.profile-grid{grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);align-items:stretch;gap:clamp(34px,5vw,72px);display:grid}.profile-portrait{background:var(--paper);border:1.5px solid var(--ink);border-radius:24px 31px 22px 28px;min-height:430px;margin:0;position:relative;overflow:hidden;box-shadow:8px 9px #5c7f924d}.profile-portrait:after{pointer-events:none;content:"";border-radius:inherit;border:1px solid #fff9;position:absolute;inset:9px}.profile-portrait img{object-fit:cover;object-position:50% 46%;filter:saturate(.82)contrast(1.03);width:100%;height:100%;display:block}.profile-portrait figcaption{z-index:1;color:var(--paper);letter-spacing:.12em;text-align:center;background:#202526e0;border:1px solid #f7f5ef5c;border-radius:999px;padding:9px 14px;font-size:.62rem;font-weight:760;position:absolute;bottom:18px;left:18px;right:18px}.profile-content{flex-direction:column;justify-content:center;display:flex}.profile-overline{color:var(--blue-deep);letter-spacing:.16em;margin:0 0 10px;font-size:.68rem;font-weight:820}.profile-content h3{letter-spacing:-.045em;margin:0;font-family:Iowan Old Style,Songti SC,Georgia,serif;font-size:clamp(2.5rem,4.2vw,4.5rem);font-weight:560;line-height:1.08}.profile-intro{max-width:760px;color:var(--ink-soft);margin:21px 0 0;font-size:clamp(.92rem,1.18vw,1.04rem);line-height:1.85}.profile-facts{grid-template-columns:1fr 1fr;margin:28px 0 0;display:grid}.profile-facts>div{border-top:1px solid var(--line);min-width:0;padding:16px 22px 16px 0}.profile-facts>div:nth-child(2n){border-left:1px solid var(--line);padding-left:22px;padding-right:0}.profile-facts dt{color:var(--blue-deep);letter-spacing:.08em;margin-bottom:4px;font-size:.64rem;font-weight:800}.profile-facts dd{overflow-wrap:anywhere;margin:0;font-size:.84rem;font-weight:690}.profile-facts a{border-bottom:1px solid var(--ink)}.profile-stats{border-top:1px solid var(--ink);grid-template-columns:repeat(3,1fr);margin:22px 0 0;display:grid}.profile-stats>div{border-right:1px solid var(--line);padding:20px 18px 0}.profile-stats>div:first-child{padding-left:0}.profile-stats>div:last-child{border-right:0;padding-right:0}.profile-stats dt{color:var(--blue-deep);font-family:Iowan Old Style,Georgia,serif;font-size:clamp(2.5rem,4vw,4.2rem);font-style:italic;line-height:1}.profile-stats dd{color:var(--ink-soft);margin:7px 0 0;font-size:.68rem}.career-label{color:var(--ink-soft);letter-spacing:.12em;justify-content:space-between;margin-top:clamp(58px,7vw,90px);font-size:.65rem;font-weight:760;display:flex}.experience-section .timeline{grid-template-columns:repeat(3,1fr);margin-top:24px;display:grid}.experience-section .timeline article{border-right:1px solid var(--line);border-bottom:0;min-width:0;padding:30px 30px 0 0;display:block;position:relative}.experience-section .timeline article+article{padding-left:30px}.experience-section .timeline article:last-child{border-right:0;padding-right:0}.experience-section .timeline article:before{content:"";background:var(--yellow);border:1.5px solid var(--ink);width:11px;height:11px;position:absolute;top:-7px;left:-1px;transform:rotate(45deg)}.experience-section .timeline article+article:before{left:29px}.experience-section .timeline-date{margin-bottom:20px}.experience-section .timeline h3{font-size:clamp(1rem,1.35vw,1.2rem)}.experience-section .timeline article div:last-child>p:last-child{font-size:.78rem;line-height:1.72}@media (max-width:760px){section[id]{scroll-margin-top:88px}.site-header{border-radius:15px;width:calc(100% - 24px);height:60px;padding:0 14px;top:10px}.site-header nav a:first-child{display:none}.hero{min-height:0;padding-top:104px}.experience-section{min-height:0;padding:92px 20px}.experience-heading h2{font-size:clamp(3rem,15vw,4.5rem)}.profile-grid{grid-template-columns:1fr;gap:38px}.profile-portrait{min-height:112vw}.profile-facts{grid-template-columns:1fr}.profile-facts>div:nth-child(2n){border-left:0;padding-left:0}.profile-stats>div{padding-left:9px;padding-right:9px}.profile-stats dt{font-size:clamp(2rem,10vw,3rem)}.profile-stats dd{font-size:.62rem}.career-label{flex-direction:column;align-items:flex-start;gap:8px}.experience-section .timeline{grid-template-columns:1fr}.experience-section .timeline article,.experience-section .timeline article+article{border-right:0;border-bottom:1px solid var(--line);padding:28px 0}.experience-section .timeline article+article:before,.experience-section .timeline article:before{top:-6px;left:0}}.hero h1{font-size:clamp(2.35rem,4.2vw,4.4rem);line-height:1.16}.hero-email{width:fit-content;color:var(--blue-deep);border-bottom:1px solid var(--blue-deep);margin-top:10px;font-size:.78rem;font-weight:680;display:block}.experience-heading{margin-bottom:32px}.experience-section .timeline{margin-top:28px}.work-section .section-heading{margin-bottom:44px}.project-featured .project-link{min-height:48px;color:var(--paper);background:var(--ink);border:1.5px solid var(--ink);box-shadow:4px 4px 0 var(--yellow);border-radius:50% 45% 48% 42%/24% 28% 22% 26%;justify-content:center;padding:12px 20px;font-size:.9rem;transition:color .22s,background-color .22s,border-color .22s,box-shadow .22s,transform .22s}.project-featured .project-link:hover{color:var(--white);background:var(--blue-deep);border-color:var(--blue-deep);box-shadow:7px 7px 0 var(--yellow);transform:translate(-2px,-2px)}.iteration-art{aspect-ratio:4/3;border-radius:24px 31px 22px 28px;min-height:0;transform:rotate(.35deg)}.iteration-art img{object-fit:contain;object-position:center}.ability-tabs button{border-left:1px solid #0000;border-right:1px solid #0000;padding-left:14px;padding-right:14px;transition:padding .22s,color .22s,background-color .22s,border-color .22s,box-shadow .22s,transform .22s;position:relative}.ability-tabs button:hover{color:var(--ink);background:#5c7f921f;border-color:#315c7347;padding-left:22px}.ability-tabs button.active{color:var(--paper);background:var(--blue-deep);border-color:var(--ink);box-shadow:4px 4px 0 var(--yellow);padding-left:22px;transform:translate(-3px,-3px)}.ability-tabs button.active:after{color:var(--yellow-light)}@media (max-width:940px){.project-featured .project-link{right:39px}}@media (max-width:760px){.hero h1{font-size:clamp(2.25rem,10vw,3.15rem)}.hero-email{overflow-wrap:anywhere}.project-featured .project-link{left:24px;right:auto}.case-study{padding-top:54px}.iteration-art{aspect-ratio:4/3;min-height:0}}.hero h1{max-width:680px;font-size:clamp(4rem,6.7vw,7rem);line-height:1.02}.hero-subtitle{max-width:650px;color:var(--ink-soft);letter-spacing:-.025em;margin:30px 0 0;font-family:Iowan Old Style,Songti SC,STSong,Georgia,serif;font-size:clamp(1.45rem,2.25vw,2.35rem);font-weight:520;line-height:1.55}.profile-content{justify-content:flex-start;padding-top:2px}.profile-content .profile-intro{margin-top:0;font-size:clamp(1rem,1.25vw,1.1rem);line-height:1.9}.experience-section .timeline .role{color:#5b6260ad;font-weight:620}.experience-section .timeline article div:last-child>p:last-child{color:#5b6260b3}.project-featured{grid-template-columns:50px minmax(0,1fr) minmax(240px,300px);align-items:center;min-height:0;padding:32px 34px 76px}.project-featured .project-photo{aspect-ratio:1;border-radius:24px 30px 22px 28px;align-self:center;min-height:0}.project-featured .project-photo img{object-fit:cover;object-position:50% 72%}.project-featured .project-link{bottom:24px;right:370px}.case-study{padding-top:0}@media (max-width:940px){.project-featured{grid-template-columns:44px 1fr}.project-featured .project-photo{display:none}.project-featured .project-link{right:39px}}@media (max-width:760px){.hero h1{font-size:clamp(3.5rem,15vw,5rem)}.hero-subtitle{margin-top:24px;font-size:clamp(1.3rem,6.3vw,1.8rem)}.project-featured{grid-template-columns:1fr;padding:26px 24px 82px}.project-featured .project-link{bottom:30px;left:24px;right:auto}}.hero-email-row{margin-top:10px}.hero-email-row .hero-email{width:auto;color:var(--ink-soft);font-size:inherit;font-weight:inherit;border:0;margin:0}.profile-grid{align-items:start}.profile-portrait{height:360px;min-height:0}.iteration-block{align-items:start;gap:clamp(44px,6vw,72px)}.iteration-copy .case-block-title h3{font-size:clamp(2.3rem,3.8vw,3.8rem);line-height:1.08}.iteration-list{margin-top:30px}.iteration-list article{gap:10px;padding:15px 0}.iteration-art{align-self:start}.motion-ready .reveal-pending .stagger-item{opacity:0;clip-path:inset(12% 0 18% round 24px);transform-origin:bottom;transition:opacity 1.2s cubic-bezier(.16,1,.3,1),clip-path 1.45s cubic-bezier(.76,0,.24,1),transform 1.45s cubic-bezier(.16,1,.3,1);transform:translateY(86px)scaleX(.96)scaleY(.9)}.motion-ready .reveal-pending.is-revealed .stagger-item{opacity:1;clip-path:inset(0 round 24px);transform:translate(0)scaleX(1)scaleY(1)}.motion-ready .reveal-pending.is-revealed .stagger-item:first-child{transition-delay:.18s}.motion-ready .reveal-pending.is-revealed .stagger-item:nth-child(2){transition-delay:.35s}.motion-ready .reveal-pending.is-revealed .stagger-item:nth-child(3){transition-delay:.52s}.motion-ready .reveal-pending.is-revealed .stagger-item:nth-child(4){transition-delay:.69s}.motion-ready .reveal-pending .image-reveal{opacity:0;clip-path:inset(0 0 100% round 24px);transition:opacity 1ms linear .2s,clip-path 1.55s cubic-bezier(.76,0,.24,1) .2s,transform 1.65s cubic-bezier(.16,1,.3,1) .2s;position:relative;transform:translateY(44px)scale(.97)}.motion-ready .reveal-pending .image-reveal:before{z-index:3;pointer-events:none;content:"";background:var(--blue);transition:transform 1.5s cubic-bezier(.76,0,.24,1) .27s;position:absolute;inset:-2px;transform:translate(0)}.motion-ready .reveal-pending.is-revealed .image-reveal{opacity:1;clip-path:inset(0 round 24px);transform:translate(0)scale(1)}.motion-ready .reveal-pending.is-revealed .image-reveal:before{transform:translateY(-102%)}img[data-parallax]{--parallax-y:0px;transform:translate3d(0,var(--parallax-y),0) scale(1.035);will-change:transform}@media (max-width:760px){.profile-portrait{height:min(112vw,520px);min-height:0}.iteration-list{margin-top:26px}.iteration-list article{padding:17px 0}}@media (prefers-reduced-motion:reduce){.motion-ready .reveal-pending .image-reveal,.motion-ready .reveal-pending .stagger-item,.motion-ready .reveal-pending.is-revealed .image-reveal,.motion-ready .reveal-pending.is-revealed .stagger-item{opacity:1;clip-path:none;transition:none;transform:none}.motion-ready .reveal-pending .image-reveal:before{display:none}img[data-parallax]{will-change:auto;transform:none}}.hero-greeting>span{display:block}.motion-ready .reveal-section.reveal-pending{opacity:.34;clip-path:inset(9% 0 12% round 34px);transform-origin:top;transition:opacity 1.15s cubic-bezier(.16,1,.3,1) 80ms,clip-path 1.55s cubic-bezier(.76,0,.24,1),transform 1.55s cubic-bezier(.16,1,.3,1);transform:translateY(108px)scaleX(.985)scaleY(.94)}.motion-ready .reveal-section.reveal-pending.is-revealed{opacity:1;clip-path:inset(0);transform:translate(0)scaleX(1)scaleY(1)}.button-text,.email-link,.project-link,footer a{transition:color .24s,background-color .24s,border-color .24s,box-shadow .24s,transform .24s cubic-bezier(.16,1,.3,1)}.button-text{border:1px solid #0000;border-bottom:1px solid var(--ink);border-radius:999px;padding:10px 13px}.project-link{border:1.5px solid var(--ink);border-radius:999px;min-height:42px;padding:9px 14px}.motion-ready .system-block.reveal-pending .system-map>*{opacity:0;transition:opacity .9s cubic-bezier(.16,1,.3,1),transform 1.2s cubic-bezier(.16,1,.3,1);transform:translate(-46px)scale(.9)}.motion-ready .system-block.reveal-pending .system-map>:nth-child(2){transform:translateY(34px)scale(.9)}.motion-ready .system-block.reveal-pending .system-map>:nth-child(3){transform:translate(46px)scale(.9)}.motion-ready .system-block.reveal-pending.is-revealed .system-map>*{opacity:1;transform:translate(0)scale(1)}.motion-ready .system-block.reveal-pending.is-revealed .system-map>:first-child{transition-delay:.33s}.motion-ready .system-block.reveal-pending.is-revealed .system-map>:nth-child(2){transition-delay:.54s}.motion-ready .system-block.reveal-pending.is-revealed .system-map>:nth-child(3){transition-delay:.76s}.motion-ready .system-block.reveal-pending .system-states:after,.motion-ready .system-block.reveal-pending .system-states:before{transition:transform .9s cubic-bezier(.76,0,.24,1) .85s;transform:scaleX(0)}.motion-ready .system-block.reveal-pending .system-states:before{transform-origin:100%}.motion-ready .system-block.reveal-pending .system-states:after{transform-origin:0}.motion-ready .system-block.reveal-pending.is-revealed .system-states:after,.motion-ready .system-block.reveal-pending.is-revealed .system-states:before{transform:scaleX(1)}.motion-ready .iteration-block.reveal-pending .iteration-list article{opacity:0;transition:opacity .85s cubic-bezier(.16,1,.3,1),transform 1.1s cubic-bezier(.16,1,.3,1);transform:translate(-42px)}.motion-ready .iteration-block.reveal-pending.is-revealed .iteration-list article{opacity:1;transform:translate(0)}.motion-ready .iteration-block.reveal-pending.is-revealed .iteration-list article:first-child{transition-delay:.3s}.motion-ready .iteration-block.reveal-pending.is-revealed .iteration-list article:nth-child(2){transition-delay:.48s}.motion-ready .iteration-block.reveal-pending.is-revealed .iteration-list article:nth-child(3){transition-delay:.66s}.motion-ready .iteration-block.reveal-pending .iteration-list i{opacity:0;transition:opacity .4s,transform .7s cubic-bezier(.16,1,.3,1);transform:translate(-14px)}.motion-ready .iteration-block.reveal-pending.is-revealed .iteration-list i{opacity:1;transition-delay:.88s;transform:translate(0)}.motion-ready .ability-section.reveal-pending .process-line li{opacity:0;transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1);transform:translateY(30px)}.motion-ready .ability-section.reveal-pending.is-revealed .process-line li{opacity:1;transform:translate(0)}.motion-ready .ability-section.reveal-pending.is-revealed .process-line li:first-child{transition-delay:.38s}.motion-ready .ability-section.reveal-pending.is-revealed .process-line li:nth-child(2){transition-delay:.52s}.motion-ready .ability-section.reveal-pending.is-revealed .process-line li:nth-child(3){transition-delay:.66s}.motion-ready .ability-section.reveal-pending.is-revealed .process-line li:nth-child(4){transition-delay:.8s}@media (hover:hover){.site-header nav a:hover{color:var(--blue-deep)}.site-header nav a:hover:after{background:var(--yellow)}.button-primary:hover,.button-text:hover,.email-link:hover,.project-link:hover{color:var(--paper);background:var(--blue-deep);border-color:var(--blue-deep);box-shadow:5px 5px 0 var(--yellow);transform:translate(-2px,-2px)}.project-featured .project-link:hover{color:var(--paper);background:var(--blue-deep);border-color:var(--blue-deep)}.tag-list li{transition:color .22s,background-color .22s,border-color .22s,transform .22s cubic-bezier(.16,1,.3,1)}.tag-list li:hover{transform:translateY(-2px)}.pet-button:hover,.tag-list li:hover{color:var(--paper);background:var(--blue-deep);border-color:var(--blue-deep)}.pet-button:hover{box-shadow:7px 7px 0 var(--yellow)}.pet-button:hover .paw b,.pet-button:hover .paw i{background:var(--yellow-light)}footer a:hover{color:var(--yellow-light)}}.ability-tabs button:active,.button:active,.email-link:active,.pet-button:active,.project-link:active,footer a:active{transform:translate(1px,1px)}@media (max-width:760px){.hero-greeting>span:last-child{margin-left:.18em;font-size:.72em}.motion-ready .reveal-section.reveal-pending{opacity:.5;clip-path:inset(5% 0 7% round 24px);transition-duration:1s,1.2s,1.2s;transform:translateY(58px)scaleX(.992)scaleY(.975)}.motion-ready .system-block.reveal-pending .system-map>*,.motion-ready .system-block.reveal-pending .system-map>:nth-child(2),.motion-ready .system-block.reveal-pending .system-map>:nth-child(3){transform:translateY(26px)scale(.96)}.motion-ready .system-block.reveal-pending.is-revealed .system-map>*{transform:translate(0)scale(1)}}@media (prefers-reduced-motion:reduce){.motion-ready .ability-section.reveal-pending .process-line li,.motion-ready .ability-section.reveal-pending.is-revealed .process-line li,.motion-ready .iteration-block.reveal-pending .iteration-list article,.motion-ready .iteration-block.reveal-pending .iteration-list i,.motion-ready .iteration-block.reveal-pending.is-revealed .iteration-list article,.motion-ready .iteration-block.reveal-pending.is-revealed .iteration-list i,.motion-ready .reveal-section.reveal-pending,.motion-ready .reveal-section.reveal-pending.is-revealed,.motion-ready .system-block.reveal-pending .system-map>*,.motion-ready .system-block.reveal-pending.is-revealed .system-map>*{opacity:1;clip-path:none;transition:none;transform:none}.motion-ready .system-block.reveal-pending .system-states:after,.motion-ready .system-block.reveal-pending .system-states:before{transition:none;transform:scaleX(1)}}:root{--page-progress:0;--page-progress-position:0%;--font-display:"Iowan Old Style","Songti SC","STSong",Georgia,serif;--font-body:"Avenir Next","PingFang SC","Microsoft YaHei",system-ui,sans-serif;--font-utility:"Avenir Next Condensed","Avenir Next","PingFang SC",sans-serif}body{font-family:var(--font-body)}.case-block-title h3,.contact-section h2,.hero h1,.section-heading h2{font-family:var(--font-display);text-wrap:balance}.ability-label,.case-block-title>span,.kicker,.profile-portrait figcaption,.project-number,.timeline-date,.wordmark{font-family:var(--font-utility)}.case-block-title>p,.contact-section h2,.profile-intro,.project-description{text-wrap:pretty}.kinetic-heading{display:none}.hero h1.hero-greeting{gap:.08em;line-height:.94;display:grid}.hero-greeting>span:first-child{color:var(--blue-deep);font-family:var(--font-utility);letter-spacing:.01em;font-size:.45em;font-weight:720}.hero-greeting>span:last-child{letter-spacing:-.055em;margin-left:0;font-size:1em}.page-trace{z-index:90;pointer-events:none;flex-direction:column;align-items:center;width:32px;height:310px;display:flex;position:fixed;top:50%;left:max(18px,50vw - 640px);transform:translateY(-42%)}.page-trace-count,.page-trace-kicker,.page-trace-labels{color:var(--ink-soft);font-family:var(--font-utility);letter-spacing:.12em;white-space:nowrap;writing-mode:vertical-rl;font-size:.52rem;font-weight:760}.page-trace-count{color:var(--blue-deep);letter-spacing:.08em;margin-top:12px;font-family:Georgia,serif;font-style:italic}.page-trace-line{background:var(--line);width:1px;height:142px;margin:15px 0;display:block;position:relative}.page-trace-line:after{content:"";background:var(--blue-deep);transform:scaleY(var(--page-progress));transform-origin:top;position:absolute;inset:0}.page-trace-line i{top:var(--page-progress-position);background:var(--yellow);border:1.5px solid var(--ink);width:9px;height:9px;box-shadow:2px 2px 0 var(--ink);border-radius:48% 52% 44% 56%;transition:top .1s linear;display:block;position:absolute;left:50%;transform:translate(-50%,-50%)}.page-trace-labels b{font:inherit;display:none}body[data-active-section=about] [data-trace-label=about],body[data-active-section=contact] [data-trace-label=contact],body[data-active-section=experience] [data-trace-label=experience],body[data-active-section=top] [data-trace-label=top],body[data-active-section=work] [data-trace-label=work]{display:block}.site-header nav a{border-radius:999px;margin:-7px -9px;padding:7px 9px;transition:color .22s,background-color .22s}.site-header nav a.is-active{color:var(--paper);background:var(--blue-deep)}.site-header nav a.is-active:after{transform:scaleX(0)}.wordmark.is-active .wordmark-dot{background:var(--blue)}.experience-heading h2,.section-heading h2{max-width:880px}.project-card{transition:background-color .32s,border-color .32s,box-shadow .32s}@media (hover:hover){.project-card:hover{border-color:var(--blue-deep);background-color:#fffefac2;box-shadow:9px 10px #5c7f9238}.site-header nav a.is-active:hover{color:var(--paper)}}.motion-ready .reveal-section.reveal-pending{opacity:.58;clip-path:inset(5% 0 7% round 26px);transform:translateY(76px)scaleX(.992)scaleY(.965)}img[data-parallax]{will-change:auto}@media (max-width:1319px){.page-trace{display:none}}@media (max-width:760px){section[id]{scroll-margin-top:116px}.site-header{border-radius:16px;flex-direction:column;align-items:stretch;gap:8px;width:calc(100% - 20px);height:auto;min-height:94px;padding:10px 12px 11px;top:8px}.wordmark{justify-content:center;font-size:.62rem}.site-header nav{grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;display:grid}.site-header nav a,.site-header nav a:first-child,.site-header nav a:nth-child(2),.site-header nav a:nth-child(3){text-align:center;min-width:0;margin:0;padding:6px 2px;font-size:.66rem;display:block}.site-header nav a:after{display:none}.hero{padding-top:132px}.hero h1.hero-greeting{gap:.13em}.hero-greeting>span:first-child{font-size:.42em}.hero-greeting>span:last-child{margin-left:0;font-size:.94em}.motion-ready .reveal-section.reveal-pending{opacity:.72;clip-path:inset(3% 0 4% round 20px);transform:translateY(44px)scaleX(.996)scaleY(.985)}}@media (prefers-reduced-motion:reduce){.page-trace-line i{transition:none}}