*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--cream:#faeee7;--burgundy:#6b0f1a;--burgundy-dark:#4a0a12;--ink:#241c1c;--ink-muted:#5a4a4a;--serif:"Playfair Display", Georgia, serif;--sans:"DM Sans", system-ui, sans-serif}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);font-family:var(--sans);min-height:100vh;overflow-x:hidden}body[data-menu-status=open]{overflow:hidden}:root{--menu-width:30em}@media screen and (width<=767px){:root{--menu-width:80vw}}.underlay-nav__header{z-index:100;background:var(--cream);border-bottom:1px solid var(--ink);will-change:transform;height:70px;padding-top:10px;position:fixed;top:-10px;left:0;right:0}.underlay-nav__bar{align-items:center;width:100%;height:100%;display:flex}.underlay-nav__container{justify-content:space-between;align-items:center;width:100%;padding:0 40px;display:flex;position:relative}@media (width<=700px){.underlay-nav__container{padding:0 20px}}.nav-location{font-family:var(--sans);color:var(--ink-muted);letter-spacing:.04em;text-transform:uppercase;font-size:13px;font-weight:400}.nav-name{font-family:var(--sans);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;color:var(--ink);font-size:14px;font-weight:500;text-decoration:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.nav-name:hover{color:var(--burgundy)}.underlay-nav__toggle{cursor:pointer;color:var(--ink);font-family:var(--sans);letter-spacing:.04em;text-transform:uppercase;background:0 0;border:none;align-items:center;gap:12px;padding:0;font-size:13px;font-weight:500;display:flex}.underlay-nav__toggle-text{flex-direction:column;height:1.3em;display:flex;overflow:hidden}.underlay-nav__toggle-label{text-align:right;height:100%;line-height:1.3em;display:block}.underlay-nav__toggle-icon{flex-direction:column;justify-content:center;gap:5px;width:20px;height:20px;display:flex}.underlay-nav__toggle-bar{background-color:var(--ink);transform-origin:50%;width:100%;height:1.5px;display:block}.underlay-nav__menu{z-index:1;width:var(--menu-width);background-color:var(--cream);position:fixed;top:0;bottom:0;right:0}.underlay-nav__inner{flex-direction:column;justify-content:space-between;height:100%;padding:120px 40px 40px;display:flex;overflow-y:auto}@media (width<=700px){.underlay-nav__inner{padding:100px 24px 32px}}.underlay-nav__list{flex-direction:column;gap:16px;margin:0;padding:0;list-style:none;display:flex}.underlay-nav__link-large{color:var(--ink);text-decoration:none;display:inline-block}.underlay-nav__link-label{font-family:var(--serif);letter-spacing:-.02em;color:var(--ink);font-size:clamp(36px,5vw,64px);font-weight:400;line-height:1.1;display:inline-block}.underlay-nav__link-large:hover .underlay-nav__link-label{font-style:italic}.underlay-nav__link-large.w--current .underlay-nav__link-label{color:var(--burgundy);font-weight:700}.underlay-nav__bottom{gap:40px;padding-top:40px;display:flex;position:relative}@media (width<=767px){.underlay-nav__bottom{flex-direction:column;gap:24px}}.underlay-nav__bottom-border{background-color:var(--ink);opacity:.15;transform-origin:0;height:1px;position:absolute;top:0;left:0;right:0}.underlay-nav__bottom-col{flex-direction:column;flex:1;gap:12px;display:flex}.underlay-nav__link-small{font-family:var(--sans);color:var(--ink);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:700;line-height:1.3;text-decoration:none;display:inline-block}.underlay-nav__link-small:hover{color:var(--burgundy)}.underlay-nav__link-small.is--faded{opacity:.5;font-weight:400}.underlay-nav__list.is--small{flex-direction:column;gap:8px;display:flex}.page-wrapper{z-index:2;background-color:var(--cream);will-change:transform;min-height:100vh;position:relative}.underlay-nav__overlay{z-index:100;pointer-events:none;cursor:pointer;visibility:hidden;will-change:transform;position:fixed;inset:0% -1px 0% 0%;overflow:clip}.underlay-nav__dark{opacity:0;background-color:#241c1c4d;position:absolute;inset:0%}.underlay-nav__borders{flex-direction:column;justify-content:space-between;align-items:stretch;display:flex;position:absolute;inset:0}.underlay-nav__border-row{flex-direction:column;align-items:flex-end;display:flex}.underlay-nav__border{background-color:var(--cream);width:100%;height:1em}.underlay-nav__corner{transform-origin:100% 0;background-image:radial-gradient(circle farthest-side at 0 100%, #faeee700 99%, var(--cream));width:2em;height:2em}.underlay-nav__corner.is--bottom{transform-origin:100% 100%;background-image:radial-gradient(circle farthest-side at 0 0, #faeee700 99%, var(--cream))}[data-underline-link]{text-decoration:none}.page{min-height:100vh;padding-top:60px}.hero{text-align:center;padding:48px 40px 0;position:relative}.hero-title{font-family:var(--serif);letter-spacing:-.03em;color:var(--ink);white-space:nowrap;font-size:clamp(72px,12vw,160px);font-weight:900;line-height:.9;display:inline-block;position:relative}.hero-name-vertical-wrap{vertical-align:baseline;width:.22em;height:.7em;display:inline-block;position:relative}.hero-name-vertical{font-family:var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);writing-mode:vertical-rl;text-orientation:mixed;white-space:nowrap;font-size:max(7.5px,.085em);font-weight:500;line-height:1;position:absolute;bottom:.05em;left:50%;transform:translate(-50%)}.hero-image-main{width:calc(100% - 80px);max-width:700px;margin:40px auto 0;transition:opacity .3s;display:block;position:relative;overflow:hidden}.hero-image-main img{width:100%}.projects-grid{grid-template-columns:repeat(3,1fr);align-items:end;gap:16px;padding:60px 40px;display:grid}.project-card{cursor:pointer;position:relative;overflow:hidden}.project-card .img-wrap{background:var(--burgundy);width:100%;transition:opacity .3s;position:relative}.project-card:first-child .img-wrap{aspect-ratio:2/3.2}.project-card:nth-child(2) .img-wrap{aspect-ratio:2/3.8;margin-top:-40px}.project-card:nth-child(3) .img-wrap{aspect-ratio:2/4.2}.project-card .img-wrap:after{content:"VIEW →";font-family:var(--sans);letter-spacing:.15em;color:var(--cream);opacity:0;font-size:11px;font-weight:500;transition:opacity .3s;position:absolute;bottom:16px;left:16px}.project-card:hover .img-wrap{opacity:.85}.project-card:hover .img-wrap:after{opacity:1}.project-label{font-family:var(--sans);color:var(--ink-muted);letter-spacing:.05em;margin-top:10px;font-size:12px;font-weight:400}footer{text-align:center;flex-direction:column;align-items:center;padding:60px 40px 80px;display:flex}.footer-email-container{text-align:left;max-width:100%;margin-bottom:48px;display:inline-block;position:relative;left:-15px}.footer-email-label{font-family:var(--sans);letter-spacing:.05em;text-transform:uppercase;color:var(--ink);margin-bottom:8px;font-size:15px;font-weight:700}.footer-email-main{align-items:baseline;gap:16px;display:flex;position:relative}.footer-email{font-family:var(--serif);color:var(--ink);word-break:break-all;font-size:clamp(28px,4.5vw,56px);font-weight:400;line-height:1.1;text-decoration:none}.footer-copy-pill{background:var(--cream);border:1.5px solid var(--ink);color:var(--ink);cursor:pointer;font-family:var(--sans);letter-spacing:.05em;white-space:nowrap;border-radius:20px;align-items:center;gap:6px;padding:5px 14px;font-size:11px;font-weight:700;transition:all .2s;display:flex;position:absolute;top:-24px;right:-30px;transform:rotate(8deg)}.footer-copy-pill:hover{background:var(--burgundy);border:1.5px solid var(--burgundy);color:var(--cream);transform:rotate(8deg)scale(1.05)}.footer-copy-pill svg{flex-shrink:0}.footer-socials{flex-wrap:wrap;justify-content:center;align-items:center;gap:40px;display:flex}.social-link{color:var(--ink);font-family:var(--sans);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:12px;font-size:14px;font-weight:700;text-decoration:none;transition:opacity .2s;display:flex}.social-link:hover{color:var(--burgundy)}.social-svg{color:var(--ink);flex-shrink:0;transition:transform .2s}.social-link:hover .social-svg{color:var(--burgundy);transform:scale(1.05)}.about-layout{grid-template-columns:1fr 1fr;min-height:calc(100vh - 60px);display:grid}.about-image-col{min-height:520px;position:relative;overflow:hidden}.about-image-col img{object-fit:cover;width:100%;height:100%;position:absolute;top:0;left:0}.about-text-col{flex-direction:column;justify-content:center;max-width:480px;padding:60px 48px 0 20px;display:flex}.about-headline{font-family:var(--serif);letter-spacing:-.04em;color:var(--ink);z-index:2;margin-bottom:60px;margin-left:-12%;font-size:clamp(56px,7.5vw,92px);font-weight:400;line-height:.82;position:relative}.headline-whos{margin-bottom:-.25em;margin-left:.82em;display:block}.headline-that{margin-left:.15em;display:inline-block}.about-headline-large{margin-top:-.23em;font-size:clamp(80px,11vw,140px);font-weight:400;display:block}.about-body-initial{font-family:var(--serif);float:left;color:var(--burgundy);margin-top:5px;margin-right:14px;font-size:92px;font-weight:400;line-height:.5}.about-body{font-family:var(--sans);color:var(--ink);text-align:justify;margin-bottom:32px;font-size:15px;font-weight:300;line-height:1.6}.skills-row{flex-wrap:wrap;gap:20px;margin-top:12px;display:flex}.skill-tag{color:var(--burgundy);font-family:var(--sans);text-transform:uppercase;letter-spacing:.05em;cursor:default;-webkit-user-select:none;user-select:none;align-items:center;gap:12px;font-size:14px;font-weight:700;text-decoration:none;transition:color .2s;display:flex}.skill-tag:hover{color:var(--ink)}.skill-svg{color:var(--burgundy);flex-shrink:0;transition:transform .2s,color .2s}.skill-tag:hover .skill-svg{color:var(--ink);transform:scale(1.05)}.work-hero{align-start:start;grid-template-columns:1fr 1fr;gap:48px;padding:60px 40px 0;display:grid}.work-cover{background:var(--burgundy);aspect-ratio:4/5;width:100%}.work-info{padding-top:16px}.work-title{font-family:var(--serif);letter-spacing:.04em;text-transform:uppercase;color:var(--ink);margin-bottom:24px;font-size:clamp(32px,4vw,52px);font-weight:900;line-height:1}.work-description{font-family:var(--sans);color:var(--ink);border-left:2px solid var(--burgundy);padding-left:20px;font-size:14px;font-weight:300;line-height:1.8}.work-sections{padding:48px 40px}.section-block{margin-bottom:40px}.section-label{align-items:center;gap:12px;margin-bottom:16px;display:flex}.section-num{font-family:var(--sans);color:var(--ink-muted);letter-spacing:.1em;font-size:11px;font-weight:500}.section-title-text{font-family:var(--sans);color:var(--ink);letter-spacing:.06em;text-transform:uppercase;font-size:13px;font-weight:400}.section-img-full{background:var(--burgundy);aspect-ratio:16/7;width:100%;display:block}.section-img-grid-3{grid-template-columns:repeat(3,1fr);align-items:start;gap:12px;display:grid}.section-img-grid-3 .img-item{background:var(--burgundy)}.section-img-grid-2{grid-template-columns:repeat(2,1fr);align-items:start;gap:12px;display:grid}.section-img-grid-2 .img-item{background:var(--burgundy)}.section-divider{background:#241c1c1a;height:1px;margin:24px 0}.section-list{flex-direction:column;gap:0;display:flex}.section-list-item{cursor:pointer;border-bottom:1px solid #241c1c14;align-items:center;gap:12px;padding:14px 0;transition:padding-left .2s;display:flex}.section-list-item:hover{padding-left:8px}.section-list-item .num{font-family:var(--sans);color:var(--ink-muted);font-size:11px}.section-list-item .text{font-family:var(--sans);text-transform:uppercase;letter-spacing:.08em;color:var(--ink);font-size:13px}.back-btn{font-family:var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;margin:24px 40px 0;padding:0;font-size:12px;font-weight:500;transition:color .2s,gap .2s;display:inline-flex}.back-btn:hover{color:var(--burgundy);gap:12px}.toast{background:var(--ink);color:var(--cream);font-family:var(--sans);opacity:0;pointer-events:none;z-index:200;border-radius:20px;padding:10px 24px;font-size:13px;font-weight:400;transition:all .3s;position:fixed;bottom:32px;left:50%;transform:translate(-50%)translateY(20px)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}@media (width<=700px){nav{padding:0 20px}.hero{padding:32px 20px 0}.hero-title{font-size:48px}.hero-name-vertical{font-size:.095em;font-weight:700}.hero-image-main{width:calc(100% - 40px)}.projects-grid{grid-template-columns:repeat(2,1fr);padding:40px 20px}.project-card:nth-child(2){margin-top:0}footer{padding:40px 20px}.about-layout{grid-template-columns:1fr;justify-items:center}.about-image-col{min-width:-webkit-fill-available;min-width:-moz-available;min-width:stretch;min-height:260px}.about-text-col{padding:36px 20px}.about-headline{text-align:center;margin-top:-20px;margin-bottom:40px;margin-left:-8%;font-size:clamp(44px,11vw,56px)}.headline-whos{margin-left:1.4em}.headline-that{margin-left:-.82em}.about-headline-large{font-size:clamp(64px,15vw,84px)}.about-body-initial{margin-right:10px;font-size:72px;line-height:.75}.work-hero{grid-template-columns:1fr;padding:32px 20px 0}.work-sections{padding:32px 20px}.back-btn{margin:20px 20px 0}}@media (width<=375px){.nav-location{visibility:hidden}.nav-location:before{visibility:visible;content:"PDX, OR"}.footer-socials{gap:16px}.social-link{gap:4px;font-size:12px}.social-link svg{width:28px;height:28px}}.section-img-full{overflow:hidden}.section-img-full:has(img){aspect-ratio:auto;justify-content:center;align-items:center;display:flex;background:0 0!important}.section-img-full img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:80vh;display:block}.img-item:has(img){aspect-ratio:auto;justify-content:center;align-items:center;display:flex;background:0 0!important}.img-item img{object-fit:contain;width:100%;max-width:100%;height:auto;display:block}@media (width<=700px){.section-img-grid-2,.section-img-grid-3{grid-template-columns:1fr;gap:20px}}.img-wrap:has(img){overflow:hidden;background:0 0!important}.img-wrap img{object-fit:cover;width:100%;height:100%;display:block}.work-cover:has(img){overflow:hidden;background:0 0!important}.work-cover img{object-fit:cover;width:100%;height:100%;display:block}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}
