/* A connected portfolio, with atmospheres drawn from each project. */
:root{--clay:#b87555;--ochre:#b69655;--sage:#dbe0d1;--night:#191f2b;--gold:#e7bd76}
header{background:#eeece5}.hero{position:relative;background:#eeece5;isolation:isolate}.hero>*:not(.contour-art){position:relative}.hero .hero-image{background:#f6f4ee;border:1px solid #d5d0c3;box-shadow:12px 14px 0 #dddcd12e}.hero-image img{mix-blend-mode:multiply}.hero .image-caption{background:#e1e2d7}.contour-art{position:absolute;left:-180px;top:130px;width:660px;height:620px;z-index:-1;pointer-events:none;transform:rotate(-30deg)}.contour-art i{position:absolute;border:1px solid #b5ad9738;border-radius:48% 52% 42% 58%;inset:0}.contour-art i:nth-child(2){inset:36px}.contour-art i:nth-child(3){inset:72px}.contour-art i:nth-child(4){inset:108px}.hero h1{max-width:980px}.hero .asterisk{right:4%;color:#a58a55;animation-duration:70s}.hero-bottom{position:relative}.intro{background:var(--sage);margin:0;padding:85px 5% 90px;gap:0;border:0;position:relative}.intro:before{content:'';position:absolute;left:calc(35% - 28px);top:50px;bottom:50px;width:1px;background:#a3ae9670}.intro>div:last-child{padding-left:35px}.intro h2{font-size:clamp(28px,3.2vw,48px)}.intro .personal-signature{color:#424f39!important}.intro-margin{position:relative}.margin-note{font-family:Georgia,serif;font-style:italic;line-height:1.25;font-size:clamp(26px,3vw,42px);color:#556246;transform:rotate(-5deg);margin:65px 0 25px 15px}.margin-note em{font-family:inherit;letter-spacing:-1.5px}.sketch-arrow{display:block;font:55px Georgia;transform:rotate(-15deg);margin:15px 0 0 60px}.note-label{display:block;font-size:8px;line-height:1.6;letter-spacing:1px;max-width:200px;color:#58654c}.intro .tags span{border-color:#a6b19b;color:#46513c}.intro p{color:#4e5b46}.work{padding:0}.work>.section-heading{padding:35px 5%;border:0;background:#e9e6dd}.project{margin:0;padding:50px 5% 70px;position:relative;isolation:isolate;overflow:hidden;--chapter-line:#ab7e634a;--chapter-accent:#80472e;--chapter-muted:#6c5342}.chapter-ribbon{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--chapter-line);padding-bottom:17px;margin-bottom:13px;font-size:9px;letter-spacing:1.7px;color:var(--chapter-muted)}.project-heading{position:relative;z-index:1;padding:32px 0}.project-heading h2{font-weight:400}.project-heading>span:last-child{font-size:9px}.project-heading .number{color:var(--chapter-accent)}.project-image{border:1px solid var(--chapter-line)}.project-image img{height:590px;mix-blend-mode:multiply}.image-action{border:1px solid var(--chapter-line);box-shadow:none;background:#f1e5d5;color:#5c3d2b}.project-summary{border-color:var(--chapter-line);padding:30px 0;grid-template-columns:27% 1fr 17%}.project-summary>span{color:var(--chapter-accent);font-size:9px;line-height:1.6}.project-summary p{color:var(--chapter-muted);line-height:1.9}.text-button{font-size:11px}.material-line{display:flex;gap:25px;align-items:center;flex-wrap:wrap;padding:22px 0;border-bottom:1px solid var(--chapter-line);font-size:10px;color:var(--chapter-muted)}.material-line>span{display:flex;align-items:center;gap:8px}.material-line p{margin:0 0 0 auto;font-family:Georgia,serif;font-style:italic;font-size:14px}.swatch{width:14px;height:14px;border-radius:50%;display:inline-block;box-shadow:inset 0 0 0 1px #0002}.earth{background:#aa7153}.timber{background:repeating-linear-gradient(90deg,#876746 0 2px,#c6a47a 2px 4px)}.roof{background:#737b50}.corten{background:#a76648}.brick{background:#be8462}.concrete{background:#a8ada5}.steel{background:#9ea7ad}.block{background:#c6bfb0}.amber{background:#efbd69;box-shadow:0 0 12px #edba6e50}#archive{background:#e5d3bf;color:#4b3629}#archive:before{content:'';position:absolute;width:1100px;height:1100px;border:1px solid #b08a6940;border-radius:50%;top:70px;left:-490px;z-index:-1;box-shadow:0 0 0 50px #e5d3bf,0 0 0 51px #b08a6926,0 0 0 100px #e5d3bf,0 0 0 101px #b08a6926;pointer-events:none}#archive .project-image{background:#f2e8d9}#archive .project-image:after{content:'';position:absolute;right:0;top:0;width:17%;height:100%;background:repeating-linear-gradient(100deg,transparent 0 18px,#8b67420b 19px 25px);pointer-events:none}#archive .reflection{border-color:#aa7153}#archive .reflection p{color:#6b4c37}#archive .reflection+.text-button{grid-column:3;grid-row:1}.rain-story{display:grid;grid-template-columns:1fr 1.2fr;gap:8%;align-items:center;padding:65px 0 0}.rain-copy h3,.journey-intro h3,.light-note h3{font-size:clamp(28px,3.4vw,47px);font-weight:400;letter-spacing:-1.5px;line-height:1.15;margin:22px 0}.rain-copy>p,.light-note>p{font-size:14px;line-height:1.8;max-width:440px;color:var(--chapter-muted);min-height:100px}.rain-toggle{display:inline-flex;gap:35px;justify-content:space-between;background:#75543d;color:#fff6e9;border:1px solid #75543d;padding:13px 20px;min-width:170px;font-size:12px;border-radius:2px;transition:background .4s}.rain-toggle[aria-pressed=true]{background:#496d6b;border-color:#496d6b}.interaction-note{display:block;font-size:8px;letter-spacing:1.3px;margin-top:12px;color:var(--chapter-muted)}.rain-scene{position:relative;overflow:hidden;background:#eee5d7;border:1px solid #b28c6c55;min-height:310px;transition:background 1s,box-shadow 1s}.rain-scene img{width:100%;height:330px;object-fit:cover;mix-blend-mode:multiply;display:block;transition:filter 1s}.scene-caption{display:block;padding:13px 15px;font-size:8px;letter-spacing:1px;position:relative;z-index:2;background:#e5d6c5}.rain-lines{position:absolute;inset:0 0 34px;opacity:0;background:repeating-linear-gradient(103deg,transparent 0 40px,#9bc4cb80 41px 42px,transparent 43px 90px);background-size:100% 180%;transform:translateY(-5%);pointer-events:none;transition:opacity 1s}.is-raining .rain-lines{opacity:.8;animation:rain-fall 1.1s linear infinite}.is-raining .rain-scene{background:#ccd9d4;box-shadow:0 0 60px #7b9b8c33}.is-raining .rain-scene img{filter:contrast(.9)}.water-rings{position:absolute;width:150px;height:55px;left:50%;bottom:65px;transform:translateX(-50%);opacity:0;transition:opacity 1s}.water-rings i{position:absolute;inset:0;border:1px solid #5d999f;border-radius:50%;animation:ripple 3s infinite}.water-rings i:nth-child(2){animation-delay:1s}.water-rings i:nth-child(3){animation-delay:2s}.is-raining .water-rings{opacity:1}@keyframes rain-fall{to{background-position:0 130%}}@keyframes ripple{0%{transform:scale(.2);opacity:0}25%{opacity:.7}100%{transform:scale(1.5);opacity:0}}
#transit{background:#364038;color:#f0eddf;--chapter-line:#9da79045;--chapter-accent:#deb38b;--chapter-muted:#d0d4c7}#transit:before{content:'';position:absolute;top:0;right:-100px;width:45%;height:100%;background:repeating-linear-gradient(155deg,transparent 0 70px,#a6714a13 71px 145px,transparent 146px 225px);z-index:-1;pointer-events:none}#transit .project-image{background:#e6e6da;transform:rotate(-1deg);margin:12px 0 18px;width:99%}#transit .project-image img{height:560px}#transit .image-action{background:#d3b08c;color:#354036;border:0}#transit .project-summary>span{max-width:150px}#transit .material-line p{color:#d9be9e}.journey-story{padding:65px 0 0}.journey-intro{display:flex;justify-content:space-between;gap:30px;align-items:start}.journey-intro h3{margin:0 0 30px;width:73%;font-size:clamp(28px,3.2vw,45px)}.journey-intro .eyebrow{font-size:9px;max-width:150px;line-height:1.8}.journey-tabs{display:grid;grid-template-columns:repeat(4,1fr);margin-top:15px}.journey-tabs button{display:flex;align-items:center;gap:15px;position:relative;text-align:left;border:0;border-top:1px solid #929e8855;background:transparent;color:#b7c0af;font-size:12px;padding:20px 10px;transition:color .3s,background .3s}.journey-tabs button:before{content:'';position:absolute;top:-2px;left:0;right:0;height:3px;background:#d2a17b;transform:scaleX(0);transform-origin:left;transition:transform .5s}.journey-tabs button[aria-selected=true]{background:#a67b5520;color:#f8e5cb}.journey-tabs button[aria-selected=true]:before{transform:scaleX(1)}.journey-tabs button>span{font-size:9px;color:#c49b76}.journey-tabs button:hover{background:#ffffff08}#journey-panel{display:grid;grid-template-columns:1.2fr 1fr;gap:8%;align-items:center;padding:30px 0 0;min-height:330px}#journey-image{width:100%;height:320px;object-fit:cover;background:#e3e1d7;filter:sepia(.15)}#journey-number{font-size:9px;letter-spacing:1.5px;color:#d4ab85}#journey-title{font-family:Georgia,serif;font-weight:400;font-style:italic;font-size:32px;margin:20px 0}#journey-text{font-size:14px;line-height:1.9;max-width:390px;color:#d0d4c7}.journey-track{display:block;margin-top:28px;height:2px;background:#7e8b7455;max-width:250px}.journey-track i{height:100%;display:block;background:#d0a57c;width:25%;transition:width .5s}
#lighthouse{background:#191f2b;color:#f5e8ce;--chapter-line:#b9a37b38;--chapter-accent:#efc57b;--chapter-muted:#c6c4c2}#lighthouse .project-heading h2{color:#f1d19a}#lighthouse .night{background:#191f2b;border-color:#bca17128;max-width:85%;margin:0 auto;box-shadow:0 0 100px #c58f3020}#lighthouse .night img{height:670px;mix-blend-mode:normal;object-fit:contain}#lighthouse .image-action{background:#eac78b;border-color:#eac78b;color:#342b20}#lighthouse .material-line p{color:#e0bc87}.screen-pattern{position:absolute;right:-50px;top:0;width:420px;height:600px;opacity:.14;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23d8b575' stroke-width='1'%3E%3Crect x='4' y='4' width='56' height='56'/%3E%3Cpath d='M32 4Q32 32 4 32Q32 32 32 60Q32 32 60 32Q32 32 32 4Z'/%3E%3C/g%3E%3C/svg%3E");mask-image:linear-gradient(to bottom,#000,transparent);z-index:-1;pointer-events:none}.light-story{display:grid;grid-template-columns:1.1fr 1fr;gap:12%;padding:65px 0 15px;align-items:center}.light-note h3 em{color:#e5bb72}.block-study{display:grid;grid-template-columns:repeat(6,36px);gap:8px;margin:35px 0 13px}.block-study i{width:36px;height:36px;border:1px solid #9d8358;position:relative;overflow:hidden}.block-study i:before,.block-study i:after{content:'';position:absolute;width:32px;height:32px;border:1px solid #be9a5d;border-radius:50%;left:-16px;top:-16px}.block-study i:after{left:18px;top:18px}.block-study i{background:#d8ae5310;transition:box-shadow .6s,background .6s}.block-study:hover i{background:#d8ae5333;box-shadow:0 0 25px #e7bc6855}.detail-note{font-size:8px;letter-spacing:2px;color:#c3a777}.assembly-study{border:1px solid #c4a56c55;padding:25px 30px;background:#252a324d}.assembly-study details summary{cursor:pointer;list-style:none;display:flex;flex-direction:column;gap:15px;font:italic 25px Georgia,serif}.assembly-study details summary::-webkit-details-marker{display:none}.summary-action{font:9px 'DM Sans',Arial,sans-serif;letter-spacing:1px;color:#efc57b}.assembly-study details[open] .summary-action{font-size:0}.assembly-study details[open] .summary-action:after{content:'FOLD THE ASSEMBLY −';font-size:9px}.assembly-study figure{margin:25px 0 0}.assembly-study figure img{width:100%;height:auto;background:#efece4}.assembly-study figcaption{font-size:10px;letter-spacing:0;line-height:1.5;color:#c7c6c3}.assembly-study>p{font-size:12px;line-height:1.7;color:#c6c4c2;margin:25px 0 0;max-width:280px}.process{position:relative;isolation:isolate;background-color:#ede7d9;background-image:linear-gradient(#aa9e7c14 1px,transparent 1px),linear-gradient(90deg,#aa9e7c14 1px,transparent 1px);background-size:28px 28px;padding:90px 8%;gap:10%;border-top:1px solid #d1c5aa}.process>div:not(.desk-stamp){position:relative;z-index:1}.process figure{transform:rotate(3deg);background:#f7f4ec;padding:16px 16px 20px;box-shadow:0 15px 30px #60513a22;align-self:center;border:1px solid #d4c9b1;transition:transform .6s}.process figure:hover{transform:rotate(0)}.process figure:before{content:'';position:absolute;width:110px;height:25px;left:calc(50% - 55px);top:-12px;background:#b9a46f66;transform:rotate(-5deg)}.process img{object-fit:cover;object-position:center}.process figcaption{display:flex;flex-direction:column;gap:8px;font-size:8px}.process h2{color:#594b33}.process p{color:#6a604e}.process .eyebrow{color:#81704f}.desk-stamp{position:absolute;left:5%;bottom:45px;font-size:70px;line-height:.85;font-weight:700;letter-spacing:-5px;color:#9a875310;transform:rotate(-90deg);z-index:-1}.download{border-color:#9e8c65;color:#685735}footer{position:relative;isolation:isolate;overflow:hidden;background:#2a332a;padding-top:85px}footer .eyebrow{color:#bdc4ac}footer h2 em{color:#dac49a}footer .email{border-color:#b4a583;color:#eddfc3}.contact-orbit{position:absolute;right:-160px;top:110px;width:650px;height:650px;border:1px solid #9ca68a38;border-radius:50%;box-shadow:0 0 0 55px #2a332a,0 0 0 56px #9ca68a25,0 0 0 110px #2a332a,0 0 0 111px #9ca68a18;z-index:-1;pointer-events:none}.contact-note{position:relative;max-width:410px}.footer-bottom{position:relative}.reveal{scroll-margin-top:30px}dialog[data-theme=earth]{background:#e5d3bf;color:#4b3629}dialog[data-theme=journey]{background:#364038;color:#f0eddf}dialog[data-theme=light]{background:#191f2b;color:#f5e8ce}dialog[data-theme=journey] .viewer-bar,dialog[data-theme=light] .viewer-bar{border-color:#9da79055}dialog[data-theme=journey] .viewer-bar button,dialog[data-theme=light] .viewer-bar button,dialog[data-theme=journey] .sheet-controls button,dialog[data-theme=light] .sheet-controls button{border-color:#9da79088}dialog[data-theme=light] .viewer-bar button:hover,dialog[data-theme=light] .sheet-controls button:hover,dialog[data-theme=journey] .viewer-bar button:hover,dialog[data-theme=journey] .sheet-controls button:hover{background:#ffffff15}.sheet-controls button:disabled{opacity:.3;cursor:default}
@media(min-width:1600px){main,header{max-width:1800px}}@media(max-width:1000px){.material-line p{width:100%;margin:0}.project-image img{height:480px}.rain-story{gap:5%}.rain-copy>p{min-height:130px}.journey-tabs button{gap:9px;font-size:11px}.light-story{gap:7%}.assembly-study{padding:25px 20px}.intro:before{left:calc(35% - 15px)}}@media(max-width:800px){.hero h1{font-size:17vw}.hero .asterisk{right:0}.hero .hero-image{margin-top:0}.contour-art{left:-230px;top:90px}.intro{padding:45px 5%;grid-template-columns:1fr;gap:30px}.intro:before{display:none}.intro>div:last-child{padding:0}.intro-margin{display:flex;justify-content:space-between;align-items:center;gap:20px}.intro-margin .eyebrow{max-width:130px;line-height:1.7}.margin-note{font-size:23px;margin:0 10px 0 0}.sketch-arrow,.note-label{display:none}.intro .tags{margin-top:25px}.work>.section-heading{padding:25px 5%}.project{padding:30px 5% 45px}.chapter-ribbon{font-size:7px;letter-spacing:.8px;gap:10px}.chapter-ribbon>span:last-child{display:none}.project-heading{padding:25px 0}.project-heading h2{font-size:31px}.project-heading>span:last-child{font-size:8px}.project-image img,#transit .project-image img{height:310px}#lighthouse .night{max-width:100%}#lighthouse .night img{height:440px}.project-summary{grid-template-columns:1fr;gap:15px;padding:25px 0}.project-summary>span{max-width:none!important}.project-summary p{font-size:14px}#archive .reflection+.text-button{grid-column:1;grid-row:auto}.rain-story{grid-template-columns:1fr;gap:30px;padding-top:40px}.rain-copy h3,.journey-intro h3,.light-note h3{font-size:32px}.rain-copy>p{min-height:0}.rain-scene{min-height:250px}.rain-scene img{height:280px}.material-line{gap:17px;font-size:9px;padding:20px 0}.material-line p{font-size:13px;line-height:1.6}.journey-story{padding-top:40px}.journey-intro{display:block}.journey-intro .eyebrow{display:block;max-width:none;margin-bottom:22px}.journey-intro h3{width:auto}.journey-tabs{grid-template-columns:1fr 1fr;gap:0 15px}.journey-tabs button{padding:18px 6px;font-size:12px}#journey-panel{grid-template-columns:1fr;gap:25px;padding-top:20px;min-height:0}#journey-image{height:270px}#journey-title{margin:15px 0;font-size:28px}#journey-text{max-width:none}.light-story{grid-template-columns:1fr;gap:35px;padding-top:40px}.block-study{margin-top:25px}.light-note>p{min-height:0}.assembly-study{padding:25px}.assembly-study>p{max-width:none}.screen-pattern{width:240px;right:-100px;height:500px}.process{padding:55px 7%;gap:45px}.process img{height:340px}.process h2{font-size:55px}.process figure{width:95%;justify-self:center}.desk-stamp{display:none}footer{padding:55px 5% 25px}.contact-orbit{right:-400px;top:140px}.scene-caption{font-size:7px}}@media(prefers-reduced-motion:reduce){.is-raining .rain-lines,.water-rings i{animation:none}.is-raining .water-rings i{opacity:.4;transform:scale(1)}.process figure,#transit .project-image{transform:none}}

.intro:before{left:32%}.process .eyebrow{color:#6e5b3a}#archive .reflection>span{color:#75472f}#transit button:focus-visible,#lighthouse button:focus-visible,#lighthouse summary:focus-visible{outline:3px solid #efc57b;outline-offset:5px}@media(max-width:800px){.intro:before{display:none}}
