@font-face{font-family:Villa Serif;src:url(/assets/cormorant-garamond-latin-500-normal.woff2) format("woff2");font-style:normal;font-weight:500;font-display:swap}@font-face{font-family:Villa Sans;src:url(/assets/dm-sans-latin-400-normal.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap}:root{--paper: #f4f0e7;--ink: #292e24;--olive: #414a32;--muted: #67695b;--line: #d8d7c9;--clay: #a15638;--serif: "Villa Serif", Georgia, serif;--sans: "Villa Sans", Arial, sans-serif;font-family:var(--sans);color:var(--ink);background:var(--paper);font-synthesis:none;scroll-behavior:smooth;scroll-padding-top:100px}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--clay);outline-offset:6px}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}button{cursor:pointer}button:disabled{cursor:default}.skip-link{position:fixed;top:-100px;left:20px;z-index:50;padding:14px 20px;background:var(--ink);color:#fff}.skip-link:focus{top:16px}.site-header{position:absolute;top:0;left:0;width:100%;height:104px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;z-index:10}.wordmark{font-family:var(--serif);font-size:32px;white-space:nowrap}.wordmark-dot{color:var(--clay)}nav{display:flex;gap:38px;font-size:15px}nav a{position:relative;padding:12px 0}nav a:after{position:absolute;bottom:5px;left:0;right:0;content:"";height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}nav a:hover:after{transform:scaleX(1)}.hero{height:min(900px,100svh);min-height:650px;position:relative;isolation:isolate;overflow:hidden;background:#e9e1d0}.hero-scene{position:absolute;inset:0;z-index:-2;overflow:hidden}.villa-image{width:100%;height:100%;object-fit:cover;object-position:center;will-change:transform}.hero-scene:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(247,240,221,.2),transparent 53%)}.sunlight{position:absolute;inset:-10%;background:linear-gradient(115deg,transparent 25%,rgba(255,243,192,.11) 34%,transparent 46%);mix-blend-mode:screen;pointer-events:none}.atmosphere{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.hero-copy{position:absolute;left:5%;top:34%;max-width:47%}h1{font-family:var(--serif);font-size:clamp(80px,8.2vw,140px);font-weight:500;line-height:.95;letter-spacing:-.055em}.hero-subtitle{font-size:clamp(21px,2vw,30px);margin-top:24px;letter-spacing:-.025em}.hero-intro{font-size:17px;line-height:1.65;margin-top:20px;max-width:460px}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:32px}.hero-actions .button-primary{margin-top:0}.hero-resume{padding:10px 0 7px;border-bottom:1px solid currentColor;font-size:15px}.hero-resume:hover{color:var(--clay)}.credentials{list-style:none;display:flex;flex-wrap:wrap;gap:13px 18px;max-width:680px;margin-top:25px;padding:17px 0 0;border-top:1px solid #7779624f}.credentials li{display:flex;align-items:center;gap:8px;min-width:142px}.credentials img{width:25px;height:25px;flex:0 0 auto;object-fit:contain}.credentials li>span:last-child{display:grid;gap:1px}.credentials strong{font-size:12px;font-weight:500;line-height:1.25}.credentials small{color:var(--muted);font-size:10px;line-height:1.3}.button{display:inline-flex;align-items:center;gap:40px;justify-content:space-between;padding:17px 25px;min-height:56px;border-radius:5px;font-size:15px;border:1px solid transparent;transition:background .2s,box-shadow .2s}.button-primary{background:var(--olive);color:#fff;margin-top:32px;box-shadow:0 4px 20px #292e2412}.button-primary:hover{background:#2b3524;box-shadow:0 6px 24px #292e242b}.hero-bottom{position:absolute;bottom:27px;left:5%;right:5%;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:13px}.hero-bottom>span{background:#f4f0e7db;padding:8px 12px;border-radius:3px}.motion-toggle{border:1px solid #fff7;background:#f4f0e7dd;color:var(--ink);display:flex;align-items:center;gap:9px;font-size:13px;padding:10px 13px;border-radius:4px}.section-shell{padding-left:7%;padding-right:7%;max-width:1800px;margin:auto}.work{padding-top:105px;padding-bottom:120px;scroll-margin-top:90px}.project-ownership dt{margin-bottom:5px;color:var(--muted);font-size:12px}.project-ownership dd{margin:0;font-size:14px;line-height:1.5}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:54px}.section-note{font-size:15px;color:var(--muted);margin-bottom:15px}h2{font-family:var(--serif);font-size:clamp(46px,5vw,76px);font-weight:500;line-height:1.06;letter-spacing:-.035em}h2>span{color:var(--clay)}.text-link{font-size:15px;display:inline-flex;align-items:center;gap:16px;padding-bottom:7px;border-bottom:1px solid currentColor}.text-link:hover{color:var(--clay)}.about{padding-top:100px;padding-bottom:110px;border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(330px,.9fr) minmax(0,1.1fr);column-gap:8%;row-gap:58px}.about h2{font-size:clamp(45px,4.5vw,66px)}.about-heading{align-self:start}.portrait{margin:42px 0 0;width:min(100%,430px)}.portrait img{width:100%;height:clamp(275px,25vw,325px);aspect-ratio:4 / 3;object-fit:cover;object-position:50% 38%;border:8px solid #faf7ef;box-shadow:0 14px 34px #2b33241f;transform:rotate(-.8deg)}.portrait figcaption,.personal-photo figcaption{color:var(--muted);font-size:13px;line-height:1.55}.portrait figcaption{margin:14px 8px 0;max-width:270px}.about-copy>p{font-size:18px;line-height:1.8;max-width:600px}.about-copy>p+p{margin-top:22px}.berkeley-story{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:clamp(28px,5vw,68px);align-items:center;padding:42px 0 58px;border-top:1px solid var(--line)}.berkeley-story figure{margin:0}.berkeley-story img{width:100%;height:clamp(280px,25vw,360px);aspect-ratio:auto;object-fit:cover;object-position:50% 36%;border:7px solid #faf7ef;box-shadow:0 11px 30px #2b332419;transform:rotate(-.45deg)}.berkeley-story figcaption{margin:12px 7px 0;color:var(--muted);font-size:13px}.berkeley-story h3{font:500 clamp(32px,3.6vw,48px)/1.1 var(--serif)}.berkeley-story p{margin-top:17px;color:var(--muted);font-size:15px;line-height:1.7}.social-story{grid-column:1 / -1;display:grid;grid-template-columns:minmax(230px,.7fr) minmax(0,1.3fr);gap:clamp(30px,5vw,66px);align-items:center;padding:54px 0 62px;border-top:1px solid var(--line)}.social-number{color:var(--clay);font:500 clamp(45px,5.5vw,72px)/.95 var(--serif);letter-spacing:-.04em}.social-copy h3{max-width:390px;margin-top:18px;font:500 clamp(29px,3vw,42px)/1.15 var(--serif)}.social-copy>p:last-child{max-width:420px;margin-top:18px;color:var(--muted);font-size:15px;line-height:1.7}.social-reels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2vw,22px);align-items:end}.social-reels figure{margin:0}.social-reels video{display:block;width:100%;aspect-ratio:9 / 16;object-fit:cover;background:#222;border:5px solid #faf7ef;box-shadow:0 10px 26px #2b33241f}.social-reels figure:nth-child(2){transform:translateY(18px)}.social-reels figcaption{margin:10px 4px 0;color:var(--muted);font-size:12px;line-height:1.4}.personal-gallery{grid-column:1 / -1;display:grid;grid-template-columns:1.35fr .85fr;gap:clamp(20px,3vw,44px);align-items:start;border-top:1px solid var(--line);padding-top:48px;width:100%;max-width:1040px;margin-inline:auto}.personal-intro{grid-column:1 / -1;max-width:660px;margin-bottom:4px}.personal-intro h3{font:500 31px/1.2 var(--serif)}.personal-intro p{margin-top:9px;color:var(--muted);font-size:15px;line-height:1.6}.personal-photo{margin:0}.personal-photo img{width:100%;height:clamp(270px,28vw,390px);object-fit:cover;border:7px solid #faf7ef;box-shadow:0 11px 30px #2b332419}.personal-photo.painting{transform:rotate(-.65deg)}.personal-photo.mbti{margin-top:42px;transform:rotate(.8deg)}.personal-photo.painting img{object-position:50% 42%}.personal-photo.mbti img{height:auto;aspect-ratio:1;object-fit:contain;background:#f4f0e7;border-color:#ece8de}.personal-photo.cat-pair{grid-column:1 / -1;width:min(100%,850px);margin:10px auto 0}.cat-images{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:7px;background:#faf7ef;box-shadow:0 11px 30px #2b332419;transform:rotate(.45deg)}.cat-images img{height:clamp(220px,25vw,330px);border:0;box-shadow:none}.cat-images img:first-child{object-position:50% 62%}.cat-images img:last-child{object-position:50% 46%}.personal-photo figcaption{display:grid;gap:4px;margin:14px 7px 0}.personal-photo figcaption strong{color:var(--ink);font-weight:400;font-size:15px}.contact{background:#e5e7dc;text-align:center;padding-top:100px;padding-bottom:100px;max-width:none}.contact h2{font-size:clamp(48px,5.8vw,86px)}.contact-email{font-size:clamp(20px,2.3vw,32px);display:inline-block;margin:35px 0 20px;border-bottom:1px solid #88907d;padding-bottom:9px}.contact-email span{margin-left:14px}.contact>p:last-of-type{color:var(--muted);font-size:16px;line-height:1.7;max-width:680px;margin-inline:auto}.contact-links{display:flex;justify-content:center;gap:30px;margin-top:30px}.footer{display:flex;align-items:center;justify-content:flex-start;padding-top:30px;padding-bottom:30px;font-size:14px;background:transparent}@media(min-width:1600px){.hero-copy{left:7%}.site-header{padding:0 7%}}@media(max-width:800px){.hero{height:810px;min-height:0}.site-header{height:85px;padding:0 6%}.wordmark{font-size:29px}nav{gap:22px;font-size:14px}.hero-scene:after{background:linear-gradient(180deg,#f4f0e71c,transparent 40%,#f4f0e7f7 70%)}.villa-image{object-position:66% top;height:72%;min-height:570px}.hero-copy{top:auto;bottom:88px;left:7%;max-width:86%}h1{font-size:84px}.hero-subtitle{font-size:23px;margin-top:15px}.hero-intro{font-size:16px;margin-top:14px}.credentials{gap:10px 14px;margin-top:18px;padding-top:13px}.credentials li{min-width:min(190px,46%)}.credentials small{display:none}.experience-heading{align-items:flex-start;flex-direction:column;gap:1px}.button-primary{margin-top:23px}.hero-bottom{left:7%;right:7%;bottom:20px}.hero-bottom>span{display:none}.motion-toggle{margin-left:auto}.section-shell{padding-left:7%;padding-right:7%}.work{padding-top:65px;padding-bottom:70px}.section-heading{align-items:flex-start;margin-bottom:35px}.section-heading>.text-link{margin-top:13px;font-size:13px;gap:6px;white-space:nowrap}.about{grid-template-columns:1fr;gap:35px;padding-top:65px;padding-bottom:65px}.about-copy>p{font-size:17px}.portrait{width:100%;max-width:440px;margin-top:30px}.portrait img{height:clamp(240px,65vw,320px)}.berkeley-story{grid-template-columns:1fr;gap:22px;padding:30px 0 45px}.berkeley-story div{max-width:560px}.berkeley-story img{height:clamp(210px,55vw,280px)}.social-story{grid-template-columns:1fr;gap:28px;padding:42px 0 48px}.social-reels{grid-template-columns:repeat(3,minmax(170px,1fr));gap:14px;margin-right:-30px;padding:0 30px 18px 0;overflow-x:auto;scroll-snap-type:x proximity}.social-reels figure{scroll-snap-align:start}.social-reels figure:nth-child(2){transform:none}.personal-gallery{grid-column:auto;grid-template-columns:1fr;gap:28px;padding-top:34px}.personal-intro{grid-column:auto}.personal-intro h3{font-size:26px}.personal-photo.mbti{width:82%;margin:0 auto}.personal-photo.cat-pair{grid-column:auto}.cat-images{gap:7px;padding:5px}.cat-images img{height:clamp(180px,53vw,270px)}.contact{padding-top:70px;padding-bottom:70px}}@media(max-width:380px){nav{gap:15px}.wordmark{font-size:25px}.section-heading{flex-direction:column;gap:12px}.hero-copy h1{font-size:72px}}@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.villa-image{will-change:auto}}.project-feature{display:grid;grid-template-columns:1.4fr 1fr;gap:6%;align-items:center;margin-bottom:82px}.project-feature:nth-child(2){grid-template-columns:1fr 1.4fr}.project-feature:nth-child(2) .project-visual{order:2}.project-feature:nth-child(2) .project-description{order:1}.project-visual{display:block;position:relative;width:100%;aspect-ratio:1.35;border:0;overflow:hidden;background:#dce4e2;border-radius:6px;padding:8% 0 0 8%;text-align:left;isolation:isolate}.project-kubevista .project-visual{background:#d8e0dd}.project-illuma .project-visual{background:#e8ddc9}.project-ledgly .project-visual{background:#dddfea}.project-image-wrap{height:100%;border-radius:7px 0 0;overflow:hidden;box-shadow:-8px 14px 35px #1a281829;transition:transform .65s cubic-bezier(.2,.7,.2,1);transform:rotate(-2deg) translateY(12px);transform-origin:center}.project-image-wrap img{width:100%;height:100%;object-fit:cover;object-position:top left}.project-visual:hover .project-image-wrap,.project-visual:focus-visible .project-image-wrap{transform:rotate(0) translateY(0)}.visual-open{position:absolute;bottom:19px;right:19px;background:#f4f0e7f2;border:1px solid #ffffff80;padding:12px 16px;border-radius:4px;font-size:14px;box-shadow:0 3px 15px #0001}.project-kicker{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:14px;margin-bottom:20px}.project-icon{width:38px;height:38px;object-fit:contain}.project-icon.ledgly,.project-icon.illuma,.project-icon.filmvault,.project-icon.summit{border-radius:9px}.project-icon.summit{background:#fff;object-fit:cover}.project-description h3{font-family:var(--serif);font-size:clamp(40px,4vw,62px);font-weight:500;letter-spacing:-.025em;margin-bottom:17px}.project-description h3 button,.project-small h3 button{font:inherit;border:0;background:transparent;padding:0;color:inherit;text-align:left}.project-description>p{font-size:17px;line-height:1.75;max-width:470px}.tags{list-style:none;padding:0;display:flex;gap:8px;flex-wrap:wrap;margin:23px 0 30px}.tags li{font-size:13px;color:#595f52;border:1px solid #d1d3c6;border-radius:3px;padding:5px 9px}.project-description>.text-link,.project-small>.text-link{border:0;border-bottom:1px solid var(--ink);background:none;padding-left:0;padding-right:0;color:var(--ink)}.more-heading{border-top:1px solid var(--line);padding-top:48px;display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.more-heading h3{font:500 36px var(--serif);letter-spacing:-.02em}.more-heading p{font-size:15px;color:var(--muted)}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.project-small{padding:25px 0 0;display:flex;flex-direction:column;align-items:flex-start}.small-top{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:26px}.small-top>span{font-size:13px;color:var(--muted)}.project-small h3{font:500 37px var(--serif);margin-bottom:15px}.project-small>p{font-size:16px;line-height:1.75;color:#505649}.project-small .tags{margin-top:auto;padding-top:22px;margin-bottom:22px}.project-archive{margin-top:55px;border-block:1px solid var(--line)}.project-archive summary{list-style:none;display:flex;justify-content:space-between;align-items:center;padding:26px 0;cursor:pointer;font-size:18px}.project-archive summary::-webkit-details-marker{display:none}.archive-plus{font-size:24px;font-weight:400}.project-archive[open] .archive-plus{transform:rotate(45deg)}.archive-list{padding-bottom:14px}.archive-list a{display:grid;grid-template-columns:32px 1fr 1.4fr auto;align-items:center;padding:17px 0;border-top:1px solid var(--line);font-size:15px;gap:20px}.archive-icon{width:27px;height:27px}.archive-list a:hover{color:var(--clay)}.archive-list a>span:nth-child(3){color:var(--muted);font-size:14px}.experience{margin-top:42px}.experience-item{display:flex;gap:20px;padding:25px 0;border-top:1px solid var(--line)}.experience-item>div:last-child{flex:1;min-width:0}.experience-heading{display:flex;align-items:baseline;justify-content:space-between;gap:18px}.experience-heading time{color:var(--muted);font-size:12px;white-space:nowrap}.company-icon{width:48px;height:48px;flex-shrink:0;display:grid;place-items:center;border-radius:7px;background:#fff8}.company-icon img{width:35px;height:35px;object-fit:contain}.company-icon.berkeley{background:#123554;color:#efc762;font:700 italic 23px Georgia}.experience-item h3{font-size:17px;font-weight:400;margin-bottom:7px}.experience-item p{font-size:15px;color:var(--muted);line-height:1.6}.experience-item p.experience-detail{font-size:14px;margin-top:10px}.experience-item p.experience-recognition{display:inline-block;margin-top:12px;padding-top:9px;border-top:1px solid #9d8d6970;color:var(--ink);font-size:13px}.project-dialog{width:min(880px,92vw);max-height:90svh;padding:0;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);box-shadow:0 25px 100px #141d2440;overscroll-behavior:contain}.project-dialog::backdrop{background:#1c251b99;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.dialog-top{display:flex;align-items:center;gap:12px;padding:16px 24px;position:sticky;top:0;background:var(--paper);z-index:2;border-bottom:1px solid var(--line)}.dialog-top .project-icon{width:28px;height:28px}.dialog-close{margin-left:auto;width:40px;height:40px;font-size:30px;line-height:1;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink)}.dialog-close:hover{background:#e2e4d9}.dialog-image{width:100%;height:auto;max-height:440px;object-fit:cover;object-position:top}.dialog-video{display:block;width:100%;aspect-ratio:16 / 9;background:#101a2b;object-fit:contain}.dialog-body{padding:40px 45px 45px}.dialog-body h2{font-size:60px}.dialog-intro{font-size:18px;line-height:1.8;margin-top:20px}.dialog-body h3{font-size:18px;font-weight:400}.architecture-section{margin-top:46px;padding-top:28px;border-top:1px solid var(--line)}.project-ownership{display:grid;grid-template-columns:.75fr 1.6fr 1fr;gap:24px;margin:30px 0 0;padding:18px 0;border-block:1px solid var(--line)}.project-ownership div+div{padding-left:24px;border-left:1px solid var(--line)}.architecture-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:18px}.architecture-heading .section-note{order:2;margin:0}.architecture-heading h3{font-family:var(--serif);font-size:30px}.architecture-figure{margin:0;border-block:1px solid var(--line);background:#e9e5da}.architecture-figure img{display:block;width:100%;height:auto}.architecture-figure figcaption{padding:10px 14px 12px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;line-height:1.5}.architecture-copy{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:44px;margin-top:30px}.architecture-copy h3{margin-bottom:12px;font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.how-it-works p,.engineering-decisions ol{color:var(--muted);font-size:15px;line-height:1.75}.engineering-decisions ol{margin:0;padding-left:24px}.engineering-decisions li{padding-left:8px}.engineering-decisions li+li{margin-top:10px}.project-outcome{display:grid;grid-template-columns:110px 1fr;gap:20px;margin-top:30px;padding:18px 0;border-block:1px solid var(--line);font-size:15px;line-height:1.65}.project-outcome span{color:var(--clay);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.case-study{margin-top:48px;padding-top:34px;border-top:1px solid var(--line)}.case-study-heading{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(0,1.25fr);gap:40px;align-items:start}.case-study-heading h3{font:500 29px/1.15 var(--serif)}.case-study-heading p{color:var(--muted);font-size:15px;line-height:1.7}.case-study-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:32px 0 0;padding:0;list-style:none;counter-reset:case-step}.case-study-steps li{min-height:155px;padding:17px 17px 10px;border-left:1px solid var(--line);counter-increment:case-step}.case-study-steps li:last-child{border-right:1px solid var(--line)}.case-study-steps li:before{content:counter(case-step);display:block;margin-bottom:24px;color:var(--clay);font:500 22px/1 var(--serif)}.case-study-steps strong,.case-study-steps span{display:block}.case-study-steps strong{margin-bottom:8px;font-size:14px}.case-study-steps span{color:var(--muted);font-size:12px;line-height:1.55}.evidence-links{display:flex;flex-wrap:wrap;gap:11px 25px;margin-top:28px}.evidence-links a{padding-bottom:4px;border-bottom:1px solid currentColor;color:var(--muted);font-size:13px}.evidence-links a:hover{color:var(--clay)}.project-note{font-size:13px;color:var(--muted);line-height:1.6;margin-top:25px}.dialog-body .button{margin-top:25px}.dialog-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.dialog-source-link{margin-top:25px;color:var(--muted);font-size:14px;text-decoration:underline;text-underline-offset:5px}.dialog-source-link:hover{color:var(--clay)}body.dialog-open{overflow:hidden}@media(max-width:1000px){.case-study-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.case-study-steps li:nth-child(4){border-top:1px solid var(--line)}.case-study-steps li:last-child{border-top:1px solid var(--line)}.project-feature{gap:4%}.project-description>p{font-size:16px}.project-kicker{margin-bottom:12px}.project-grid{gap:25px}.small-top{flex-direction:column;align-items:flex-start}.more-heading p{max-width:200px}}@media(max-width:700px){.project-ownership,.case-study-heading{grid-template-columns:1fr}.project-ownership{gap:16px}.project-ownership div+div{padding:16px 0 0;border-top:1px solid var(--line);border-left:0}.case-study-steps{grid-template-columns:1fr}.case-study-steps li,.case-study-steps li:nth-child(4),.case-study-steps li:last-child{min-height:0;padding:17px 0;border-width:0 0 1px;border-style:solid;border-color:var(--line)}.case-study-steps li:before{margin-bottom:10px}.architecture-copy{grid-template-columns:1fr;gap:28px}.architecture-figure{overflow-x:auto}.architecture-figure img{width:720px;max-width:none}.project-outcome{grid-template-columns:1fr;gap:8px}.project-feature,.project-feature:nth-child(2){grid-template-columns:1fr;gap:25px;margin-bottom:55px}.project-feature:nth-child(2) .project-visual,.project-feature:nth-child(2) .project-description{order:unset}.project-visual{aspect-ratio:1.4}.project-description h3{font-size:44px;margin-bottom:10px}.project-kicker{gap:10px}.project-kicker .project-icon{width:30px;height:30px}.tags{margin:18px 0 22px}.project-grid{grid-template-columns:1fr;gap:25px}.project-small{border-top:1px solid var(--line);padding-top:26px}.small-top{flex-direction:row;align-items:center;margin-bottom:17px}.project-small .tags{padding-top:0;margin-top:18px}.more-heading{display:block;padding-top:35px}.more-heading h3{font-size:32px}.more-heading p{max-width:none;margin-top:10px}.project-archive{margin-top:38px}.archive-list a{grid-template-columns:30px 1fr auto;gap:6px 12px}.archive-list a>span:nth-child(3){grid-column:2;grid-row:2}.archive-list a>span:last-child{grid-column:3;grid-row:1/3}.dialog-body{padding:28px}.dialog-body h2{font-size:48px}.dialog-intro{font-size:16px}.project-bullets{font-size:15px}.dialog-top{padding:12px 18px}.experience-item{gap:15px}}.hero-webgl{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}.scene-ready .villa-image{opacity:0}.hero-scene .sunlight{z-index:1}.hero-scene .atmosphere{z-index:2}.hero-scene:after{z-index:3}.motion-paused{scroll-behavior:auto}.hero-copy{z-index:1}.hero-bottom{z-index:2}.site-header nav{background:#f4f0e7b8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:0 20px;border-radius:5px}.motion-toggle:disabled{opacity:.8}.project-actions{display:flex;align-items:baseline;gap:23px;flex-wrap:wrap}.project-actions .text-link{border:0;border-bottom:1px solid currentColor;background:none;padding-left:0;padding-right:0;color:var(--ink)}.project-live-link{color:var(--ink);font-size:14px;border-bottom:1px solid currentColor;padding-bottom:2px}.project-live-link:hover{color:var(--clay)}.project-source-link{font-size:14px;color:var(--muted);text-decoration:underline;text-underline-offset:5px}.project-source-link:hover{color:var(--clay)}.depth-stage{display:none;position:absolute;inset:0;will-change:transform}.depth-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;will-change:transform;max-width:none}.depth-foreground{z-index:1}.cinematic .depth-stage{display:block}.cinematic .villa-image{visibility:hidden}.scene-wash{position:absolute;inset:0;background:var(--paper);opacity:0;z-index:4;pointer-events:none}.scene-arrival{position:absolute;inset:0;display:grid;place-items:center;opacity:0;visibility:hidden;z-index:3;pointer-events:none}.scene-arrival span{font:500 clamp(52px,6vw,96px) var(--serif);letter-spacing:-.03em;color:#fff9e9;text-shadow:0 2px 28px #161e16;background:#25301c40;padding:12px 30px;border-radius:5px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.hero-bottom{z-index:5}.scroll-invitation{margin-left:22px;border-left:1px solid #62654e66;padding-left:20px}.cinematic{height:100svh;min-height:650px}.motion-paused .scroll-invitation{display:none}@media(max-width:800px){.depth-stage,.scene-arrival,.scene-wash,.scroll-invitation{display:none!important}}.world-host{position:fixed;inset:0;z-index:0;pointer-events:none}.world-host canvas{display:block;width:100%;height:100%}main,.footer{position:relative;z-index:1}.journey-gap{display:none}.world-ready{background:#b8d8e8}.world-ready .hero{height:100svh;min-height:650px;background:transparent;overflow:visible}.world-ready .hero-scene,.world-ready .scene-wash,.world-ready .scene-arrival{display:none}.world-ready .hero-copy{left:5%;top:29%;padding:32px 38px 36px;background:#f4f0e7e8;border:1px solid #fff7;border-radius:6px;box-shadow:0 12px 50px #28301c15;max-width:49%}.world-ready .hero-copy h1{font-size:clamp(75px,7vw,118px)}.world-ready .journey-gap{display:grid;height:70svh;place-items:center}.journey-gap span{font:500 64px var(--serif);color:#fff9e9;text-shadow:0 2px 20px #342a1a}.world-ready .section-heading{background:#f4f0e7ed;padding:32px;border-radius:6px}.world-ready .work{max-width:1500px;padding-top:60px;padding-bottom:90px}.world-ready .project-feature{background:#f4f0e7f2;padding:30px;border:1px solid #fff7;border-radius:8px;gap:35px;margin-bottom:24vh;box-shadow:0 14px 60px #222b1b20;min-height:65svh}.world-ready .more-heading,.world-ready .project-grid,.world-ready .project-archive{background:#f4f0e7f5;padding:30px;border-radius:6px}.world-ready .more-heading{margin-bottom:0;border-bottom:1px solid var(--line);border-radius:6px 6px 0 0}.world-ready .project-grid{border-radius:0 0 6px 6px}.world-ready .about{max-width:1280px;background:#f4f0e7f2;margin:20vh auto;padding:65px;box-shadow:0 14px 60px #222b1b20;border-radius:8px}.world-ready .contact{max-width:1050px;margin:30vh auto 15vh;background:#f4f0e7eb;border-radius:8px;padding:65px 35px}.world-ready .footer{max-width:none;background:transparent}.world-ready .site-header{position:fixed;top:15px;height:70px;pointer-events:none}.world-ready .site-header>a,.world-ready .site-header nav{pointer-events:auto;background:#f4f0e7ed;padding:10px 20px;border-radius:5px}.world-ready .hero-bottom{position:fixed;bottom:18px;left:auto;right:22px;z-index:22}.world-ready .hero-bottom>span{display:none}.world-ready .motion-toggle{box-shadow:0 3px 18px #0002}.world-ready .project-dialog{background:var(--paper)}@media(max-width:800px){.world-ready .hero-copy{max-width:88%;left:6%;top:auto;bottom:110px;padding:24px}.world-ready .hero-copy h1{font-size:76px}.world-ready .journey-gap{height:35svh}.world-ready .project-feature{padding:20px;margin-bottom:80px;min-height:0}.world-ready .section-heading{padding:22px}.world-ready .about{margin:80px 5%;padding:30px}.world-ready .contact{margin:100px 5% 60px;padding:40px 22px}.world-ready .site-header{padding:0 4%;height:60px}.world-ready .site-header>a{font-size:25px;padding:8px 12px}.world-ready .site-header nav{padding:2px 12px;gap:18px}.world-ready .project-grid{padding:22px}.world-ready .hero-bottom{right:16px;bottom:15px}}@media(prefers-reduced-motion:reduce){.world-ready .journey-gap{display:none}.world-ready .project-feature{margin-bottom:60px}.world-ready .about,.world-ready .contact{margin-top:65px;margin-bottom:65px}}.world-ready.art-opening .hero-copy{background:transparent;box-shadow:none;border-color:transparent;padding-left:0}.world-ready.art-opening .hero-copy h1{font-size:clamp(80px,8.2vw,140px)}@media(max-width:800px){.world-ready.art-opening .hero-copy{background:#f4f0e7e8;padding:24px}.world-ready.art-opening .hero-copy h1{font-size:76px}}.film-journey .world-host{background:#d3c1a0 url(/assets/villa-journey-poster.jpg) center/cover no-repeat}.journey-video{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.film-journey .journey-gap{height:110svh}.film-journey .journey-gap span{background:#312c233b;padding:12px 24px;border-radius:5px}@media(max-width:800px){.film-journey .journey-gap{height:70svh}.film-journey .journey-gap span{font-size:42px}}@media(min-width:801px){.film-journey .world-host{background-image:url(/assets/villa-journey-poster-4k.jpg)}}.film-journey .journey-gap{height:240svh}@media(max-width:800px){.film-journey .journey-gap{height:150svh}}.film-journey .journey-gap{height:150svh}@media(max-width:800px){.film-journey .journey-gap{height:100svh}}.film-journey .journey-gap{height:360svh}@media(max-width:800px){.film-journey .journey-gap{height:240svh}}@media(prefers-reduced-motion:reduce){.film-journey .journey-gap{display:none}}.film-journey .journey-gap{height:200svh}.desk-transition{height:140svh;pointer-events:none}.archive-context{max-width:760px;color:var(--muted);line-height:1.65;padding:16px 0}@media(max-width:800px){.film-journey .journey-gap{height:140svh}.desk-transition{height:100svh}}@media(prefers-reduced-motion:reduce){.film-journey .journey-gap,.desk-transition{display:none}}.journey-still{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;opacity:0;transition:none}.journey-still.is-visible{opacity:1;transition:opacity .2s ease}@media(prefers-reduced-motion:reduce){.journey-still{display:none}}@media(min-width:801px){.world-ready .section-heading{width:min(100%,820px);padding:25px 30px;border-left:5px solid var(--clay);border-radius:2px;box-shadow:0 10px 34px #222b1b14}.world-ready .project-feature{min-height:58svh;padding:0;gap:clamp(34px,5vw,72px);background:transparent;border:0;border-radius:0;box-shadow:none}.world-ready .project-feature .project-visual{box-shadow:0 18px 55px #1720162b}.world-ready .project-feature .project-description{padding:clamp(28px,3vw,44px);background:#f4f0e7f2;border-top:4px solid var(--olive);box-shadow:0 14px 46px #222b1b1c}.world-ready .project-illuma .project-description{border-top-color:#b58136}.world-ready .project-ledgly .project-description{border-top-color:#668c86}.world-ready .about{background:#f4f0e7f5;border-top:6px solid var(--olive);border-radius:2px;box-shadow:0 18px 64px #222b1b24}.world-ready .contact{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);column-gap:clamp(40px,7vw,90px);align-items:start;text-align:left;border-radius:2px;border-left:6px solid var(--clay)}.world-ready .contact h2{grid-column:1;grid-row:1 / span 3}.world-ready .contact-email,.world-ready .contact>p,.world-ready .contact-links{grid-column:2}.world-ready .contact-email{margin:5px 0 0}.world-ready .contact>p{margin:22px 0 0}.world-ready .contact-links{justify-content:flex-start;margin-top:25px}}@media(max-width:800px){.world-ready .project-feature{background:transparent;border:0;box-shadow:none}.world-ready .project-feature .project-description{padding:24px;background:#f4f0e7f2;border-top:4px solid var(--olive);box-shadow:0 10px 34px #222b1b18}}
