.portfolio{--paper:#f0eee7;--muted:#a7aaa2;--line:#353833;--accent:#ff7b42;background:#141615;color:var(--paper);font-family:var(--font-geist-sans),sans-serif;overflow:clip}.portfolio *{font-family:inherit}.portfolio a,.portfolio button{-webkit-tap-highlight-color:transparent}.architecture-canvas:focus-visible,.portfolio a:focus-visible,.portfolio button:focus-visible,.portfolio summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.portfolio button{cursor:pointer}.portfolio section{scroll-margin-top:95px}.portfolio-nav{height:100px;padding:0 5.5%;display:flex;align-items:center;gap:40px;border-bottom:1px solid var(--line);position:relative;z-index:30;background:#141615}.wordmark{font-weight:650;font-size:46px;letter-spacing:-.04em;line-height:1}.wordmark span{color:var(--accent)}.nav-links{display:flex;gap:34px;margin-left:auto;font-size:14px}.nav-links a{color:#b9bcb4;transition:color .2s}.nav-links a:hover{color:var(--paper)}.nav-contact{display:flex;gap:20px;align-items:center;border:1px solid #575a51;padding:12px 18px;border-radius:6px;font-size:14px}.nav-contact:hover{background:var(--paper);color:#141615}.menu-toggle{display:none}.portfolio-hero{min-height:690px;height:calc(100svh - 100px);max-height:980px;position:relative;padding:85px 5.5% 100px;display:flex;align-items:center}.hero-copy{position:relative;z-index:2;width:58%;pointer-events:none}.hero-copy a,.hero-copy button{pointer-events:auto}.hero-copy h1{font-size:clamp(54px,5.8vw,88px);font-weight:480;line-height:1.03;letter-spacing:-.04em;max-width:850px}.hero-copy h1 .hero-line{display:block;white-space:nowrap;color:var(--paper)}.hero-copy h1 .hero-accent{color:var(--accent)}.hero-copy p{max-width:420px;color:var(--muted);font-size:16px;line-height:1.75;margin:30px 0}.hero-actions{display:flex;gap:27px;align-items:center}.primary-action{padding:16px 22px;display:inline-flex;gap:30px;align-items:center;background:var(--paper);color:#181b17;border-radius:5px;font-size:14px;font-weight:550;transition:background .2s,transform .2s}.primary-action:hover{background:var(--accent);transform:translateY(-2px)}.text-action{display:inline-flex;align-items:center;gap:12px;font-size:14px;background:none;color:inherit;border:0}.text-action:hover{color:var(--accent)}.architecture-art{position:absolute;width:55%;height:95%;right:0;top:0}.architecture-canvas{width:100%;height:100%;cursor:grab;touch-action:pan-y}.architecture-canvas:active{cursor:grabbing}.architecture-canvas canvas{display:block}.art-caption{top:10%;font-size:11px;letter-spacing:.06em;color:var(--muted)}.art-caption,.art-controls{position:absolute;right:10%}.art-controls{bottom:13%;display:flex;align-items:center;gap:8px}.art-controls span{font-size:11px;color:var(--muted);margin-right:9px}.art-controls button{display:grid;place-items:center;width:30px;height:30px;border:1px solid #464a41;border-radius:50%;color:var(--paper);background:#141615}.art-controls button:hover{border-color:var(--accent)}.art-controls button:disabled{opacity:.4;cursor:default}.hero-foot{position:absolute;bottom:28px;left:5.5%;right:5.5%;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:24px}.hero-foot>span:nth-child(2){display:flex;align-items:center;gap:16px}.hero-foot i{width:3px;height:3px;background:var(--accent);border-radius:50%}.experience-strip{padding:35px 5.5%;border-block:1px solid var(--line);display:flex;align-items:center;gap:65px}.experience-strip>span{color:var(--muted);font-size:12px;white-space:nowrap}.experience-strip>div{width:100%;display:flex;justify-content:space-between;gap:25px;align-items:center}.experience-strip b{font-size:clamp(13px,1.45vw,21px);font-weight:500;color:#c3c6be;letter-spacing:-.025em}.portfolio-section{margin:0 5.5%;padding:100px 0}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:40px}.portfolio h2{font-size:clamp(34px,4vw,58px);font-weight:450;letter-spacing:-.035em;line-height:1.12}.section-heading h2>span{color:var(--accent)}.section-heading>p{font-size:14px;line-height:1.7;color:var(--muted)}.project-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:28px}.project-art{height:290px;background:#232821;position:relative;overflow:hidden;border-radius:8px;display:grid;place-items:center}.project-1 .project-art{background:#292727}.project-2 .project-art{background:#282c2c}.project-open{position:absolute;right:18px;bottom:18px;width:38px;height:38px;display:grid;place-items:center;background:#ffffff0b;border-radius:50%;transition:background .2s}.project-item:hover .project-open{background:var(--accent);color:#141615}.project-meta{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:var(--muted);margin:23px 0 10px}.project-item h3{font-size:22px;line-height:1.3;font-weight:450;letter-spacing:-.025em}.project-item p{font-size:13px;color:var(--muted);line-height:1.75;margin:12px 0 18px}.project-tags{display:flex;gap:8px;flex-wrap:wrap}.project-tags span{font-size:10px;color:#d0d3c9;border:1px solid #42453f;padding:4px 8px;border-radius:4px}.billing-art{width:170px;height:140px;transform:rotateX(55deg) rotate(-35deg);transform-style:preserve-3d;position:relative;transition:transform .6s}.billing-art i{position:absolute;inset:0;border:1px solid #b6c3a6;background:#606c53;box-shadow:8px 12px 25px #0003;transform:translateZ(calc(var(--i) * 19px));border-radius:8px}.billing-art i:last-child{background:#b4c0a1}.project-item:hover .billing-art{transform:rotateX(45deg) rotate(-25deg)}.signal-art{width:75%;height:180px;display:flex;align-items:center;gap:5px;transform:rotate(-15deg)}.signal-art i{flex:1;min-height:9%;border-radius:10px;background:#d38f74;box-shadow:5px 8px 14px #0004}.arch-art{display:flex;align-items:flex-end;height:175px;gap:8px;transform:skewY(-16deg);filter:drop-shadow(18px 22px 12px #0005)}.arch-art i{width:37px;height:110px;background:#a6b3b6;border-top:10px solid #d4dddc;border-right:9px solid #66777a}.arch-art i:nth-child(2){height:165px}.arch-art i:nth-child(3){height:140px}.arch-art i:nth-child(4){height:85px}.about-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:11%;border-top:1px solid var(--line);align-items:center}.portrait{position:relative;max-width:400px}.portrait img{width:100%;height:430px;-o-object-fit:cover;object-fit:cover;filter:grayscale(1);border-radius:8px}.portrait>span{position:absolute;bottom:22px;left:24px;color:white;font-size:13px;text-shadow:0 2px 6px #000}.about-copy h2 span,.about-copy p{color:var(--muted)}.about-copy p{line-height:1.85;font-size:15px;max-width:560px}.about-copy .text-action,.about-copy p{margin-top:25px}.career-section{border-top:1px solid var(--line)}.career-list details{border-bottom:1px solid var(--line)}.career-list summary{list-style:none;display:grid;grid-template-columns:1fr 1.1fr 1.4fr 18px;gap:25px;align-items:center;padding:25px 0;cursor:pointer}.career-list summary::-webkit-details-marker,.credentials summary::-webkit-details-marker{display:none}.career-date{font-size:12px;color:var(--muted)}.career-company{font-size:18px;letter-spacing:-.02em}.career-title{font-size:12px;color:var(--muted)}.career-list details[open] summary svg,.credentials[open] summary svg{transform:rotate(45deg)}.career-list ul{padding:0 40px 30px 30%;font-size:14px;line-height:1.8;color:var(--muted);list-style:disc}.career-list li+li{margin-top:12px}.toolkit-section{border-top:1px solid var(--line);padding-top:65px;padding-bottom:65px}.toolkit-section h2{font-size:30px}.toolkit{display:flex;flex-wrap:wrap;gap:14px 28px;margin:30px 0;color:var(--muted);font-size:18px}.credentials{border-top:1px solid var(--line);padding-top:25px}.credentials summary{display:flex;gap:15px;align-items:center;cursor:pointer;font-size:13px;list-style:none}.credentials>div{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding-top:25px}.credentials a{display:flex;gap:10px;align-items:center;font-size:12px;color:var(--muted)}.credentials a:hover{color:var(--accent)}.books-section{border-top:1px solid var(--line)}.book-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.book-stage{height:330px;display:grid;place-items:center;perspective:900px;background:#1e211e;border-radius:8px;margin-bottom:25px}.book-stage img{width:auto;height:245px;max-width:80%;-o-object-fit:contain;object-fit:contain;transform:rotateY(-18deg) rotate(-5deg);box-shadow:17px 21px 24px #0007;transition:transform .5s}.book-item:hover img{transform:rotateY(0) rotate(0)}.book-subject{display:block;margin-top:12px;font-size:10px;letter-spacing:.08em;color:var(--muted)}.book-item h3{font-size:22px;font-weight:450;line-height:1.35;margin-top:12px;letter-spacing:-.02em}.book-item h3 svg{display:inline}.book-item p{font-size:13px;line-height:1.8;color:var(--muted);margin-top:12px}.books-more{margin-top:35px}.contact-section{border-top:1px solid var(--line)}.contact-section>p{font-size:14px;color:var(--muted);margin-bottom:25px}.contact-section>a{font-size:clamp(44px,7.5vw,96px);font-weight:450;line-height:1.05;letter-spacing:-.04em;display:block;position:relative}.contact-section>a>svg{position:absolute;right:4%;top:10%;width:100px;height:100px;stroke-width:1;color:var(--accent);transition:transform .3s}.contact-section>a:hover>svg{transform:translate(8px,-8px)}.contact-bottom{margin-top:45px;font-size:13px}.contact-bottom,.portfolio-footer{display:flex;justify-content:space-between;gap:20px;color:var(--muted)}.portfolio-footer{padding:28px 5.5%;border-top:1px solid var(--line);font-size:11px}.portfolio-footer>div{display:flex;gap:25px}.portfolio-footer a{margin:0;color:var(--muted);font-size:11px;display:flex;align-items:center;gap:8px}.portfolio-footer a:hover{color:var(--paper)}.skip-link{position:absolute;left:20px;top:-100px;background:var(--paper);color:#141615;padding:15px;z-index:100}.skip-link:focus{top:10px}.architecture-loading{width:45%;height:500px}.sculpture-fallback{position:absolute;inset:24% 15%;pointer-events:none;display:grid;place-items:center}.sculpture-fallback.is-ready{display:none}.sculpture-fallback div{position:absolute;width:85%;height:65%;border:10px solid #8f968a;border-radius:50%;transform:rotate(0deg)}.sculpture-fallback div:nth-child(2){transform:rotate(45deg)}.sculpture-fallback div:nth-child(3){transform:rotate(90deg);border-color:var(--accent)}.sculpture-fallback div:nth-child(4){transform:rotate(135deg)}@media (min-width:1600px){.experience-strip,.portfolio-footer,.portfolio-hero,.portfolio-nav{padding-left:max(5.5%,calc((100vw - 1500px) / 2));padding-right:max(5.5%,calc((100vw - 1500px) / 2))}.portfolio-section{max-width:1500px;margin-inline:auto}}@media (max-width:1000px){.portfolio-nav{height:85px}.portfolio-hero{height:auto;min-height:650px;padding-top:80px}.hero-copy h1{font-size:clamp(42px,5.8vw,64px)}.hero-copy{width:63%}.hero-copy p{max-width:340px}.hero-actions{gap:20px;align-items:flex-start;flex-direction:column}.architecture-art{width:55%;right:-6%}.project-grid{gap:20px;grid-template-columns:repeat(3,1fr)}.project-art{height:230px}.project-meta{flex-direction:column;gap:4px}.project-item h3{font-size:19px}.experience-strip{gap:30px}.experience-strip>div{flex-wrap:wrap;justify-content:flex-start}.portfolio-section{padding-block:75px}.about-section{gap:7%}.portrait img{height:370px}.career-list summary{grid-template-columns:.9fr 1fr 1fr 18px;gap:15px}.book-stage{height:290px}.book-stage img{height:210px}}@media (max-width:640px){.portfolio-nav{height:78px;padding-inline:6%;gap:20px}.wordmark{font-size:40px}.nav-contact{margin-left:auto;padding:10px 13px;font-size:12px;gap:12px}.menu-toggle{display:block;border:0;background:none;color:var(--paper);padding:6px}.nav-links{display:none}.nav-links.is-open{display:flex;position:absolute;top:78px;left:0;right:0;flex-direction:column;background:#1e211e;padding:25px 6%;border-bottom:1px solid var(--line);gap:22px}.portfolio-hero{display:block;min-height:0;height:auto;max-height:none;padding:55px 6% 88px}.hero-copy{width:100%}.hero-copy h1{font-size:clamp(31px,9.2vw,59px);line-height:1.06}.hero-copy p{font-size:14px;max-width:360px;margin:22px 0}.hero-actions{gap:18px;flex-direction:row;align-items:center;flex-wrap:wrap}.primary-action{font-size:12px;padding:14px 16px;gap:17px}.hero-actions .text-action{font-size:12px;gap:6px}.architecture-art{position:relative;width:112%;height:360px;right:auto;margin:5px -6% -5px}.art-caption{top:5%;right:10%;font-size:10px}.art-controls{bottom:4%;right:10%}.hero-foot{left:6%;right:6%;bottom:20px;font-size:10px;padding-top:18px}.hero-foot>span:nth-child(2){display:none}.experience-strip{padding:24px 6%;display:block}.experience-strip>span{font-size:11px}.experience-strip>div{margin-top:18px;gap:15px 25px}.experience-strip b{font-size:14px}.portfolio-section{margin-inline:6%;padding-block:58px}.section-heading{margin-bottom:28px;align-items:flex-start}.portfolio h2{font-size:34px}.section-heading .text-action{font-size:12px;white-space:nowrap;margin-top:10px;gap:5px}.project-grid{grid-template-columns:1fr;gap:35px}.project-art{height:280px}.project-meta{flex-direction:row;font-size:10px;margin-top:18px}.project-item h3{font-size:23px}.project-item p{font-size:13px}.about-section{grid-template-columns:1fr;gap:35px}.portrait{max-width:none}.portrait img{height:360px;-o-object-position:center 35%;object-position:center 35%}.about-copy p{font-size:14px;margin-top:20px}.career-section .section-heading{display:block}.section-heading>p{margin-top:20px;font-size:13px}.career-list summary{grid-template-columns:1fr 25px;gap:8px;padding-block:20px}.career-date{grid-column:1;font-size:10px}.career-company{grid-column:1;font-size:19px}.career-title{grid-column:1;font-size:11px}.career-list summary svg{grid-column:2;grid-row:2}.career-list ul{padding:0 10px 25px 20px;font-size:13px}.toolkit-section h2{font-size:28px}.toolkit{font-size:16px;gap:13px 22px}.book-grid,.credentials>div{grid-template-columns:1fr}.book-grid{gap:38px}.book-stage{height:320px}.book-stage img{height:250px}.book-item h3{font-size:22px}.books-section .section-heading{display:block}.books-section .section-heading .text-action{margin-top:18px}.contact-section>a{font-size:48px}.contact-section>a>svg{width:47px;height:47px;right:0;top:10px}.contact-section>p{font-size:12px;max-width:250px}.contact-bottom{flex-direction:column;margin-top:30px;font-size:12px}.portfolio-footer{padding:25px 6%;flex-direction:column;font-size:10px}.portfolio-footer>div{justify-content:space-between;flex-wrap:wrap;gap:18px}.architecture-loading{height:360px;width:100%}}@media (prefers-reduced-motion:reduce){.portfolio *,html:has(.portfolio){scroll-behavior:auto!important}.portfolio *{transition:none!important;animation:none!important}}