:root{font-family:Avenir Next,Segoe UI,Arial,sans-serif;color:#f4eee0;background:#28342e;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;font-weight:400;--cream:#f4eee0;--ink:#28342e;--olive:#596545;--gold:#d5ac52;--muted:#a9ada0}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0}body{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid #d5ac52;outline-offset:5px}button{border:0}button:disabled{opacity:.4;cursor:default}a{color:inherit}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}#app{isolation:isolate;position:relative;background:radial-gradient(ellipse at 48% 35%,#4b5644,#18262a 85%)}#scene,#hotspots,.scene-vignette{position:absolute;inset:0}#scene{z-index:0}#scene canvas{width:100%;height:100%;display:block;outline:0}#hotspots{z-index:2;pointer-events:none;overflow:hidden}#hotspots button{pointer-events:auto;position:absolute;background:#f4eee029;-webkit-backdrop-filter:blur(12px) saturate(1.5);backdrop-filter:blur(12px) saturate(1.5);color:#fbf6ea;text-shadow:0 1px 6px #0d161259;border:1px solid rgba(255,255,255,.28);border-radius:30px;padding:8px 13px;font-size:12px;font-weight:600;white-space:nowrap;box-shadow:inset 0 1px #ffffff38,0 4px 20px #0d161233;transform:translate(-50%,-50%);transition:background .18s,opacity .18s,box-shadow .18s}#hotspots button:focus-visible{background:#fffaf0;color:var(--ink);text-shadow:none;box-shadow:0 5px 24px #14201944}#hotspots button:before{content:"";display:inline-block;width:5px;height:5px;background:#d5ac52;border-radius:50%;margin:0 7px 1px 0}.scene-vignette{z-index:1;pointer-events:none;background:linear-gradient(180deg,#15211f48,transparent 24%,transparent 65%,#15211f85)}.skip-link{position:fixed;z-index:30;top:8px;left:50%;transform:translate(-50%,-150%);background:var(--cream);color:var(--ink);padding:12px 18px;border-radius:4px}.skip-link:focus{transform:translate(-50%)}.masthead{position:absolute;left:36px;right:36px;top:28px;display:flex;align-items:center;justify-content:space-between;z-index:4;pointer-events:none}.masthead>*{pointer-events:auto}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;text-shadow:0 1px 12px #15211f25;font-family:Avenir Next,Segoe UI,Arial,sans-serif;font-size:19px;font-weight:700;letter-spacing:-.7px}.brand small{display:block;font-family:Avenir Next,Segoe UI,Arial,sans-serif;font-weight:400;font-size:11px;letter-spacing:2px;text-transform:uppercase;margin-top:5px;opacity:.72}.brand-mark{width:5px;height:39px;display:flex;flex-direction:column;gap:2px}.brand-mark i:first-child{height:13px;background:#d5ac52}.brand-mark i:last-child{flex:1;background:#8b9c70}.header-controls{display:flex;align-items:center;gap:24px}.icon-button{display:flex;align-items:center;justify-content:center;gap:9px;background:#29352a33;border:1px solid #f4eee02b;border-radius:50px;min-height:38px;padding:0 13px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.icon-button svg{width:17px;height:17px}.sound-word{font-size:10px;letter-spacing:.3px}.sound-on{display:none}[aria-pressed=true] .sound-on{display:initial}[aria-pressed=true] .sound-off{display:none}.scene-caption{position:absolute;left:36px;bottom:148px;z-index:3;max-width:220px;pointer-events:none;text-shadow:0 1px 16px #15211f55}.eyebrow{display:block;font-size:10px;line-height:1.5;letter-spacing:2px;font-weight:600;text-transform:uppercase}.scene-caption>.eyebrow{color:#e7d6ac}.scene-caption h1{font-family:Avenir Next,Segoe UI,Arial,sans-serif;font-size:28px;line-height:1.15;letter-spacing:-1px;margin:10px 0 13px;font-weight:500}.section-navigation{z-index:4;position:absolute;bottom:51px;left:50%;transform:translate(-50%);display:flex;align-items:stretch;background:#1c2b25d1;border:1px solid #f4eee029;border-radius:12px;padding:7px;box-shadow:0 10px 40px #0c171b36;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);max-width:calc(100% - 72px)}.section-navigation button{position:relative;display:flex;align-items:center;gap:8px;white-space:nowrap;padding:12px 17px;background:transparent;border-radius:7px;font-size:12px;transition:background .2s,color .2s}.section-navigation button>span{font-size:8px;letter-spacing:.5px;color:#c4c8ac}.section-navigation button:hover,.section-navigation button[aria-current]{background:#f4eee012}.section-navigation button[aria-current]{color:#e9ce88}.section-navigation button+button:before{content:"";width:1px;height:16px;background:#f4eee014;position:absolute;left:-1px;top:50%;transform:translateY(-50%)}.loading-preview{position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(#14201955,#14201988),url(data:image/webp;base64,UklGRqgAAABXRUJQVlA4IJwAAADwBQCdASowABQAPpU8mkglo6KhNVQMALASiWUApaw5XybuY4W+O4aaMsMF1HCcLr2IvIgnkUNzAAD+6+I7/bnxBupi29idsjD+bUzm6QsTOKt5Tdx9uwzjyXt2tIGcoAeOufjcpBAP2T35/t3NgL3oGU2euxOm4GVFPpJ8AqIBxhWjVvicIlfNs/gzKcYrShJ4E182U8x9IA0UUAA=) center/cover no-repeat;transition:opacity .3s;opacity:1}.is-ready .loading-preview{opacity:0}.is-loading #scene,.is-fallback #scene{visibility:hidden}.is-loading #hotspots,.is-fallback #hotspots{display:none}.loading-screen{position:absolute;z-index:3;bottom:137px;left:50%;transform:translate(-50%);width:min(320px,calc(100% - 40px));padding:15px 18px;background:#1c2b25e8;border:1px solid #f4eee025;border-radius:10px;color:var(--cream);box-shadow:0 8px 30px #10201920;transition:opacity .25s,visibility .25s}.loading-screen.loaded{opacity:0;visibility:hidden;pointer-events:none}.loading-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.loading-heading p{margin:0;font-size:11px;line-height:1.5}.loading-value{font-size:10px;font-variant-numeric:tabular-nums;color:#e7d6ac}.loading-track{height:2px;width:100%;margin:10px 0;background:#f4eee029;overflow:hidden}.loading-track>span{height:100%;width:100%;display:block;background:#c2ca9b;transform:scaleX(0);transform-origin:left;transition:transform .18s}.loading-track.is-indeterminate>span{width:35%;transform:none;animation:loading-progress 1.6s ease-in-out infinite}.loading-screen .loading-hint{font-size:10px;line-height:1.6;color:#d9decd;margin:0 0 8px}.simple-view-link{font-size:10px;text-underline-offset:3px;display:inline-block;padding:4px 0}.fallback-note{position:absolute;z-index:3;left:50%;top:46%;transform:translate(-50%,-50%);width:min(440px,calc(100% - 40px));padding:25px;text-align:center;background:#1c2b25ed;border:1px solid #f4eee025;border-radius:12px;box-shadow:0 10px 40px #10201926}.fallback-note h1{font-size:28px;line-height:1.2;font-weight:500;letter-spacing:-1px;margin:0 0 15px}.fallback-note p{font-size:13px;line-height:1.7;color:#e1e4d8;margin:0}.fallback-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 20px;margin-top:17px}.fallback-actions a{font-size:12px;line-height:1.5;text-underline-offset:4px;padding:7px 0}.is-fallback .scene-caption{display:none}.panel-open .loading-screen,.panel-open .fallback-note{opacity:0;visibility:hidden;pointer-events:none}@keyframes loading-progress{0%{transform:translate(-110%)}to{transform:translate(390%)}}@media(max-width:759px){.loading-preview{background-image:linear-gradient(#14201955,#14201988),url(data:image/webp;base64,UklGRqQAAABXRUJQVlA4IJgAAADQBACdASoYACAAPp1AnEilo6MhKA1QsBOJZQC+AoAGzq7S6NRPQcDUJDC2rfrsAAD+/dqLQAP/CC1v6NJ3R1xNU51gDHemOK9Q04e6Wdu0vziv1DcxkddpRYv/dkSHNusWHzW+IFrnOQd0JiaELDTWvwcpqBrybCvYzq4Bm/ItH74ZRzYiP1UQhB/sTfzfhmc8VRHpNxDgAA==)}.loading-screen{bottom:139px}.fallback-note{top:43%}}@media(max-height:500px)and (min-width:701px){.loading-screen{bottom:108px}.loading-screen .loading-hint{display:none}.fallback-note{padding:18px}.fallback-note h1{font-size:23px}}#content-dialog{position:fixed;inset:14px 14px 14px auto;margin:0;width:min(520px,calc(100vw - 28px));height:calc(100dvh - 28px);max-height:none;max-width:none;padding:0;background:#f3eee3;color:#2c3830;border:1px solid #ffffff77;border-radius:14px;box-shadow:-20px 0 70px #10201933;overflow:hidden;animation:panel-in .35s ease-out}#content-dialog[open]{display:flex;flex-direction:column}#content-dialog::backdrop{background:#14261e3b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:22px 28px 15px;flex-shrink:0}.panel-context{font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:#7b816f}.close-button{width:34px;height:34px;display:grid;place-items:center;background:#263a2b08;border:1px solid #263a2b12;border-radius:50%;font-size:24px;line-height:1}.close-button:hover{background:#263a2b15}.panel-scroll{padding:17px 38px 28px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b4b9a5 transparent;flex:1}.panel-copy>.eyebrow{color:#829064;margin:10px 0 17px}.panel-copy h2{font-family:Avenir Next,Segoe UI,Arial,sans-serif;font-size:42px;line-height:1.12;font-weight:500;letter-spacing:-1.9px;margin:0 0 25px;outline:none}.panel-intro{font-size:17px!important;line-height:1.6!important;color:#485841!important;margin:0 0 29px!important}.panel-copy p{font-size:13px;line-height:1.85;color:#677160;margin:0 0 19px}.panel-copy h3{font-family:Avenir Next,Segoe UI,Arial,sans-serif;font-size:20px;font-weight:500;line-height:1.35;letter-spacing:-.6px;margin:11px 0}.panel-copy .quiet-note{font-size:11px;color:#8c927f;border-top:1px solid #36433118;padding-top:20px;margin-top:25px}.portrait-slot{display:flex;align-items:center;gap:22px;border-top:1px solid #36433118;border-bottom:1px solid #36433118;margin:29px 0;padding:23px 0}.portrait-slot p{font-size:11px;margin:8px 0 0}.portrait-slot .eyebrow{font-size:8px;letter-spacing:1.5px}.portrait-frame{display:block;flex-shrink:0;width:63px;height:80px;background:#e6d7bd;border:4px solid #ad885d;box-shadow:2px 3px 6px #33433315;transform:rotate(-3deg)}.disciplines{display:flex;flex-wrap:wrap;gap:7px}.disciplines span{font-size:10px;padding:7px 11px;border-radius:20px;border:1px solid #5c6c4225;color:#657153}.editorial-empty{margin-top:30px;border-top:1px solid #36433118;padding-top:27px}.editorial-empty .eyebrow{color:#8a927c;font-size:9px}.editorial-empty p{font-size:12px}.empty-art{height:150px;display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:28px;background:#e8e4d7;border-radius:5px}.empty-art i{display:block;background:#6b7954;width:62px;height:88px;transform:rotate(-8deg);box-shadow:2px 4px 6px #2c383018}.empty-art i:nth-child(2){height:108px;transform:rotate(3deg);background:linear-gradient(150deg,#d5ac52 50%,#a28d61 50%)}.empty-art i:nth-child(3){transform:rotate(10deg);background:linear-gradient(40deg,#566c56 50%,#ced0ae 50%)}.chapter{display:flex;gap:21px;padding:24px 0;border-top:1px solid #36433118}.chapter-mark{display:block;flex-shrink:0;padding-top:2px;font-family:Georgia,serif;font-size:26px;color:#b2975f;width:25px}.chapter .eyebrow{font-size:9px;color:#8a927c}.chapter p{font-size:12px;margin-bottom:0}.browser-art{position:relative;height:178px;margin:28px 0;background:#e8e5da;border-radius:7px;border:1px solid #adb59c55;overflow:hidden}.browser-art>div{height:23px;border-bottom:1px solid #adb59c55;display:flex;gap:4px;align-items:center;padding-left:10px}.browser-art i{width:4px;height:4px;background:#aab195;border-radius:50%}.browser-art>span{position:absolute;left:20px;top:45px;width:44%;height:92px;background:#a2ab84;border-radius:3px}.browser-art>b{position:absolute;left:55%;right:20px;top:48px;height:14px;background:#697c58;border-radius:2px}.browser-art>em{position:absolute;left:55%;right:36px;top:73px;height:44px;background:repeating-linear-gradient(transparent 0 8px,#c3c7b6 8px 12px)}.compact{margin-top:22px}.radio-lines{display:flex;height:98px;gap:7px;align-items:center;justify-content:center;margin:25px 0;background:#e6e8da;border-radius:6px}.radio-lines i{width:3px;height:24px;background:#7a8963;border-radius:3px}.radio-lines i:nth-child(2n){height:41px}.radio-lines i:nth-child(3n){height:61px}.radio-lines i:nth-child(5){height:75px;background:#bd9e54}.discovery{display:flex;align-items:center;gap:13px;text-align:left;width:100%;background:#e5e5d6;border:1px solid #75846225;border-radius:7px;padding:15px 16px;margin-top:26px;font-size:12px;color:#46563f}.discovery-icon{flex:none;color:#63704d}.discovery:hover{background:#dcdfcb}.panel-copy .discovery-feedback{font-size:10px;margin:12px 0;color:#7d866c;min-height:20px}.orbital-mark{height:140px;position:relative;display:flex;align-items:center;justify-content:center;margin:24px 0}.orbital-mark span{width:70px;height:70px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#e8debe,#a2ac88);box-shadow:9px 12px 22px #6b765323}.orbital-mark i{position:absolute;width:145px;height:55px;transform:rotate(-30deg);border:2px solid #b69a57;border-radius:50%;z-index:1}.panel-pagination{display:flex;align-items:center;justify-content:space-between;margin-top:42px;padding-top:20px;border-top:1px solid #36433118}.panel-pagination button{background:transparent;padding:8px 0;font-size:11px;color:#5d6d4b;display:flex;gap:8px}.page-count{font-size:9px;letter-spacing:1px;color:#9a9f8e}.panel-open .scene-caption,.panel-open #hotspots{opacity:.15;pointer-events:none}.panel-open #hotspots button{pointer-events:none}@keyframes panel-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@media(min-width:1600px){.masthead{left:50px;right:50px;top:38px}.scene-caption{left:50px;bottom:165px}.scene-caption h1{font-size:36px}.section-navigation{bottom:60px}.section-navigation button{padding:15px 23px;font-size:13px}}@media(max-width:1000px){.masthead{left:24px;right:24px;top:22px}.scene-caption{left:24px;bottom:145px}.scene-caption h1{font-size:24px}.section-navigation{max-width:calc(100% - 40px);bottom:48px}.section-navigation button{padding:12px 11px;font-size:11px;gap:5px}#hotspots button{font-size:10px;padding:7px 10px}}@media(max-width:700px){.masthead{left:20px;right:20px;top:max(20px,env(safe-area-inset-top))}.brand{font-size:17px;letter-spacing:-.6px;gap:9px}.brand small{font-size:9px;letter-spacing:1.5px}.brand-mark{height:33px;width:4px}.header-controls{gap:8px}.icon-button{width:36px;height:36px;padding:0}.sound-word{display:none}.section-navigation{left:16px;right:16px;transform:none;max-width:none;bottom:max(24px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:5px;gap:2px;border-radius:12px}.section-navigation button{justify-content:center;gap:6px;font-size:10px;padding:12px 4px;min-height:38px}.section-navigation button>span{font-size:7px}.section-navigation button+button:before{display:none}.scene-vignette{background:linear-gradient(180deg,#15211f77,transparent 38%,transparent 65%,#15211f66)}#hotspots button{font-size:9px;padding:6px 8px}#hotspots button:before{width:4px;height:4px;margin-right:5px}#content-dialog{inset:0;width:100%;height:100dvh;border-radius:0;border:0}.panel-header{padding:20px 24px 12px;padding-top:max(20px,env(safe-area-inset-top))}.panel-scroll{padding:18px 28px 28px;padding-bottom:max(28px,env(safe-area-inset-bottom))}.panel-copy h2{font-size:39px}.panel-intro{font-size:16px!important}.panel-pagination{margin-top:35px}}@media(max-height:620px)and (min-width:701px){.masthead{top:17px}.scene-caption{bottom:125px}.scene-caption h1{font-size:22px}.section-navigation{bottom:37px}.section-navigation button{padding-top:9px;padding-bottom:9px}.panel-copy h2{font-size:34px}.panel-scroll{padding-top:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.career-open #content-dialog{z-index:5;width:min(440px,36vw);box-shadow:0 10px 40px #10201926}.career-open #content-dialog::backdrop{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.career-books{list-style:none;margin:0;padding:0}.career-books li{border-top:1px solid #36433120}.career-books summary{display:grid;grid-template-columns:34px 1fr 12px;gap:14px;align-items:center;padding:14px 0;cursor:pointer;list-style:none}.career-books summary::-webkit-details-marker{display:none}.career-books summary:hover{color:#4e6246}.career-book-index{display:grid;place-items:center;height:44px;border-radius:7px;background:var(--book-color);color:var(--book-ink, #f4eee0);font:600 12px Avenir Next,sans-serif}.career-book-title{display:block;font-size:16px;font-weight:600;line-height:1.3}.career-books .career-book-period{display:block;margin-top:4px;color:#4e5d46;font-size:12px}.career-book-chevron{width:7px;height:7px;border-right:1px solid #67745e;border-bottom:1px solid #67745e;transform:rotate(45deg);transition:transform .18s ease-out}.career-books details[open] .career-book-chevron{transform:rotate(225deg)}.career-books .career-book-description{margin:-2px 0 15px 48px}.career-book-details{margin:0 0 20px 48px}.career-book-details h4{margin:18px 0 6px;font-size:14px;color:#304635}.career-book-details p{margin:0}.resume-download{display:flex;align-items:center;gap:9px;width:fit-content;min-height:44px;margin:14px 0;padding:10px 14px;border:1px solid #4c6655;border-radius:9px;color:#264b38;background:#e5e8d9;font-size:13px;font-weight:600;text-decoration:none}.resume-download svg{flex:none}.resume-download small{margin-left:8px;font-size:10px;font-weight:400}.resume-download:hover{background:#d6dfcd}.resume-download:focus-visible{outline:2px solid #264b38;outline-offset:3px}@media(max-width:759px){.resume-download{margin:8px 0;padding:6px 10px;font-size:12px}}@media(max-width:759px){.career-open #content-dialog{inset:auto 8px 8px;width:auto;height:47dvh;border-radius:14px}.career-open .panel-header{padding:12px 18px 6px}.career-open .panel-scroll{padding:6px 18px 18px}.career-open .panel-copy h2{font-size:26px;margin-bottom:12px}.career-open .panel-copy .panel-intro{margin-bottom:14px!important}}.sound-controls{position:relative;display:flex;align-items:center;flex-shrink:0}.sound-volume{position:absolute;top:calc(100% + 6px);right:0;width:142px;height:32px;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid #f4eee02b;border-radius:24px;background:#1c2b25e8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.sound-volume input{flex:1;min-width:0;width:100%;height:26px;margin:0;accent-color:var(--gold);cursor:pointer;touch-action:pan-y}.sound-volume input:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:3px}.sound-volume output{flex:0 0 28px;text-align:right;font-size:10px;font-variant-numeric:tabular-nums}.view-mode-link{font-size:10px;line-height:1.3;text-underline-offset:3px;padding:10px 0;white-space:nowrap}.is-fallback .view-mode-link{display:none}@media(max-width:700px){.view-mode-link{font-size:9px}}.project-list{display:grid;gap:24px;margin-top:24px}.project-list article{display:grid;grid-template-columns:minmax(78px,29%) minmax(0,1fr);align-items:start;gap:16px;padding-top:20px;border-top:1px solid #36433128}.project-list img{display:block;width:100%;height:auto;border-radius:5px}.project-list h3{margin-top:0}.project-list summary{cursor:pointer;font-size:12px;font-weight:600}.project-list details p{margin:10px 0}.project-list details[open]{margin-bottom:8px}.project-poster-link{display:block;border-radius:5px}.project-poster-preview{display:none}@media(hover:hover)and (min-width:860px){.project-poster-preview{display:block;visibility:hidden;position:fixed;z-index:1;top:50%;left:clamp(16px,calc((100vw - 800px)/2),30vw);width:min(28vw,30dvh);transform:translateY(-50%);padding:8px;border-radius:9px;background:#26372e;box-shadow:0 12px 38px #10201980;pointer-events:none}}.projects-open #content-dialog::backdrop{backdrop-filter:none;-webkit-backdrop-filter:none}@media(hover:hover)and (min-width:860px){.project-list article:hover .project-poster-preview{visibility:visible;transition:visibility 0s .35s}.project-poster-link:focus-visible .project-poster-preview{visibility:visible;transition-delay:0s}}button,.text-arrow{font-variant-emoji:text}.text-arrow{font-family:Arial,sans-serif}.mobile-section-preview,.mobile-zoom-controls{display:none}@media(max-width:759px){.scene-caption{display:none}.section-navigation{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));transform:none;max-width:none;padding:3px;gap:1px;border-radius:11px}.section-navigation button{justify-content:center;padding:4px 2px;min-width:0;min-height:44px;font-size:10px;line-height:1.16;text-align:center;white-space:normal}.section-navigation button>span,.section-navigation button+button:before{display:none}.about-open .scene-vignette{display:none}.mobile-section-preview{position:absolute;z-index:5;inset:auto 10px calc(max(8px,env(safe-area-inset-bottom)) + 60px);display:flex;gap:7px;align-items:stretch}.mobile-section-preview button{min-height:48px;border-radius:11px;border:1px solid #f4eee040;box-shadow:0 3px 18px #0c171b40}.mobile-preview-back{padding:0 13px;background:#23332bee;font-size:12px}.mobile-preview-open{flex:1;display:flex;gap:8px;align-items:center;justify-content:space-between;padding:8px 13px;background:#f4eee0;color:#28342e;text-align:left}.mobile-preview-open strong{font-size:15px}.mobile-preview-open>span{font-size:12px;white-space:nowrap;color:#4e6246}.is-ready .mobile-zoom-controls{display:flex;position:absolute;z-index:4;top:calc(max(20px,env(safe-area-inset-top)) + 40px);right:max(16px,env(safe-area-inset-right));isolation:isolate}.mobile-zoom-controls:before{content:"";position:absolute;inset:8px 5px;z-index:-1;border-radius:14px;background:#1c2b25d1;border:1px solid #f4eee029;pointer-events:none}.mobile-zoom-controls button{width:36px;height:44px;display:grid;place-items:center;border-radius:14px;background:transparent}.mobile-zoom-controls svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;pointer-events:none}.journey-active .mobile-zoom-controls{display:none}}.mobile-preview-open svg{width:12px;height:12px;vertical-align:-.1em;fill:none;stroke:currentColor}.development-notice{position:absolute;z-index:4;top:max(29px,env(safe-area-inset-top));left:50%;display:flex;align-items:center;gap:7px;margin:0;padding:7px 11px;transform:translate(-50%);border:1px solid #f4eee044;border-radius:999px;background:#172721b8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#f4eee0;font:500 11px/1.3 system-ui,sans-serif;white-space:nowrap;pointer-events:none}.development-notice:before{content:"";width:5px;height:5px;border-radius:50%;background:#e7be6f}@media(max-width:1000px){.development-notice{top:calc(max(20px,env(safe-area-inset-top)) + 49px)}}@media(max-width:759px){.development-notice{top:calc(max(20px,env(safe-area-inset-top)) + 90px)}}.panel-open .development-notice{visibility:hidden}.is-portfolio-focused :is(.masthead,.scene-caption,.scene-vignette,.development-notice,.mobile-zoom-controls,#hotspots){visibility:hidden}.portfolio-focus-hint,.portfolio-focus-hint .scroll-hint-touch{display:none}.is-portfolio-focused .portfolio-focus-hint{position:absolute;z-index:5;left:50%;bottom:calc(max(12px,env(safe-area-inset-bottom)) + 68px);display:flex;align-items:center;gap:7px;margin:0;padding:8px 12px;transform:translate(-50%);border:1px solid #f4eee043;border-radius:999px;color:#f4eee0;background:#182322a6;box-shadow:0 4px 20px #0b141942,inset 0 1px #ffffff1a;-webkit-backdrop-filter:blur(12px) saturate(1.3);backdrop-filter:blur(12px) saturate(1.3);pointer-events:none;white-space:nowrap;font:500 12px/1.3 system-ui,sans-serif}body:has(.portfolio-expansion[open]) .portfolio-focus-hint{visibility:hidden}@media(max-width:759px){.is-portfolio-focused .portfolio-focus-hint{bottom:calc(max(8px,env(safe-area-inset-bottom)) + 116px)}}@media(pointer:coarse){.portfolio-focus-hint .scroll-hint-wheel{display:none}.portfolio-focus-hint .scroll-hint-touch{display:inline}}@media(min-width:760px){.is-portfolio-focused .section-navigation{bottom:max(12px,env(safe-area-inset-bottom))}.is-portfolio-focused .portfolio-monitor-preview{top:max(12px,env(safe-area-inset-top));bottom:auto}}.portfolio-expansion{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;padding:0;margin:0;border:0;color:#f4eee0;background:transparent;overflow:hidden}.portfolio-expansion::backdrop{background:transparent}:root{--portfolio-backdrop: #0a120e}.portfolio-expansion iframe{position:absolute;inset:0 auto auto 0;width:100%;height:100%;border:0;background:var(--portfolio-backdrop);z-index:1;visibility:hidden;pointer-events:none;opacity:0;transition:opacity .52s cubic-bezier(.42,0,.38,1) .08s}.portfolio-expansion.is-ready iframe{visibility:visible;opacity:1}.portfolio-expansion.is-interactive:not(.is-waiting-for-wheel) iframe{pointer-events:auto}.portfolio-expansion-back{position:absolute;z-index:2;top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#171917;border:1px solid #f4eee03d}.portfolio-expansion-back svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5}@media(prefers-reduced-motion:reduce){.portfolio-expansion iframe{transition:none}}@media(max-width:359px){.portfolio-monitor-preview{gap:4px}.portfolio-monitor-preview .mobile-preview-back{padding-inline:8px}.portfolio-monitor-preview .mobile-preview-open{gap:4px;padding-inline:8px}.portfolio-monitor-preview .mobile-preview-open strong{font-size:13px}}@media(min-width:760px){.portfolio-monitor-preview{position:absolute;z-index:5;display:flex;gap:7px;left:50%;bottom:106px;transform:translate(-50%)}.portfolio-monitor-preview button{min-height:44px;border:1px solid #f4eee040;border-radius:10px}.portfolio-monitor-preview .mobile-preview-back{padding:0 12px;background:#23332bee}.portfolio-monitor-preview .mobile-preview-open{display:flex;gap:12px;align-items:center;padding:0 14px;background:#f4eee0;color:#28342e;white-space:nowrap}}.contact-links{list-style:none;display:grid;gap:8px;padding:0;margin:0 0 24px}.contact-links a{display:flex;align-items:center;gap:12px;min-height:48px;padding:9px 12px;border:1px solid #63704d35;border-radius:8px;color:#2c3830;text-decoration:none;background:#e5e5d6}.contact-links a:hover,.contact-links a:focus-visible{background:#dcdfcb}.contact-links a>span{display:grid;gap:2px;min-width:0}.contact-links strong{font-size:13px}.contact-links a>span>span{font-size:12px;overflow-wrap:anywhere}.quality-control{position:relative;flex-shrink:0}.quality-toggle{min-width:92px;background:#25342b;backdrop-filter:none;-webkit-backdrop-filter:none}.quality-toggle svg circle{fill:#25342b}.quality-toggle[aria-expanded=true]{border-color:#c8b77a}.quality-toggle:disabled{opacity:.45;cursor:default}.quality-word{font-size:10px;white-space:nowrap}.quality-panel{position:absolute;top:calc(100% + 12px);right:0;width:310px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 100px);overflow:auto;padding:20px;border:1px solid #64705c;border-radius:14px;background:#202e26;color:#f4eee0;box-shadow:0 14px 50px #06110c70;backdrop-filter:none;-webkit-backdrop-filter:none}.quality-panel[hidden]{display:none}.quality-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.quality-heading h2{margin:0;font-size:16px;font-weight:600;letter-spacing:-.25px}.quality-close{display:grid;place-items:center;width:30px;height:30px;flex-shrink:0;border:1px solid #f4eee030;border-radius:50%;background:transparent;font-size:22px;color:inherit}.quality-intro{margin:8px 0 16px;color:#c8cfbf;font-size:11px;line-height:1.5}.quality-options{padding:0;margin:0;border:0;display:grid;gap:6px}.quality-option{position:relative;display:flex;align-items:center;gap:10px;min-height:60px;padding:10px 12px;border:1px solid #f4eee01c;border-radius:8px;cursor:pointer;background:#28382d}.quality-option:has(input:checked){background:#394837;border-color:#b2bf8b}.quality-option:hover{border-color:#a6b190}.quality-option:has(input:focus-visible){outline:2px solid #e9ce88;outline-offset:3px}.quality-option input{position:absolute;width:1px;height:1px;opacity:0}.quality-option>span{flex:1;min-width:0}.quality-option strong{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600}.quality-option strong small{border:1px solid #c5ceac50;border-radius:4px;padding:2px 5px;font-size:8px;font-weight:400;color:#d6dfc4}.quality-option>span>span{display:block;margin-top:4px;font-size:10px;line-height:1.4;color:#c3ccbb}.quality-option>svg{width:16px;height:16px;flex-shrink:0;opacity:0;color:#d6dfa8}.quality-option:has(input:checked)>svg{opacity:1}.quality-adaptive{display:flex;gap:10px;margin-top:17px;padding-top:15px;border-top:1px solid #f4eee020;font-size:11px;line-height:1.5;cursor:pointer}.quality-adaptive input{margin:2px 0 0;width:16px;height:16px;accent-color:#bbc690;flex-shrink:0}.quality-adaptive small{display:block;font-size:10px;color:#bcc7b5}.quality-status{font-size:10px;line-height:1.5;color:#d4dcbf;min-height:15px;margin:12px 0 0}.quality-simple-link{display:none;font-size:11px;padding:10px 0 0;text-underline-offset:3px}.quality-credits{margin:14px 0 0;padding-top:12px;border-top:1px solid #f4eee014;color:#b4bfae;font-size:9px;line-height:1.8}.quality-credits a{text-underline-offset:3px}@media(min-width:701px)and (max-width:1200px){.header-controls{gap:14px}.header-controls .origin{display:none}}@media(max-width:700px){.quality-toggle{min-width:36px}.quality-word{display:none}.quality-panel{position:fixed;top:max(72px,calc(env(safe-area-inset-top) + 60px));right:16px;max-height:calc(100dvh - max(88px,calc(env(safe-area-inset-top) + 76px)));padding:17px}}@media(max-width:480px){.header-controls>.view-mode-link{display:none}.quality-simple-link{display:inline-block}}.loading-screen{touch-action:none;position:absolute;z-index:5;inset:0;transform:none;width:auto;max-width:none;padding:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;background:#0f1713;border:0;border-radius:0;box-shadow:none;transition:opacity .45s ease,visibility .45s}.loading-screen>:not(.loader-game){width:var(--loader-w,256px);max-width:100%}.loader-game{display:block;margin:0 0 18px;padding:0;border:0;border-radius:0;background:none;line-height:0;cursor:pointer;touch-action:none;user-select:none;-webkit-user-select:none}.loader-game canvas{display:block;image-rendering:pixelated;image-rendering:crisp-edges}.loader-game:focus-visible{outline:1px dashed #d5ac5280;outline-offset:8px}.loader-game:disabled{opacity:1;cursor:default}.loading-screen .loading-heading{justify-content:space-between;align-items:baseline}.loading-screen .loading-heading p{font-size:10px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:var(--cream)}.loading-screen .loading-value{font:600 11px/1 ui-monospace,SF Mono,Menlo,Consolas,monospace;color:var(--gold)}.loading-screen .loading-track{position:absolute;width:1px;height:1px;margin:0;overflow:hidden;clip:rect(0,0,0,0)}.loading-screen .loading-hint{margin:8px 0 0;font-size:10.5px;line-height:1.55;color:#8f9a8c}.loading-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:2px}.loading-screen .simple-view-link{color:#8f9a8c}.loader-best{font:600 10px/1 ui-monospace,SF Mono,Menlo,Consolas,monospace;letter-spacing:.6px;color:var(--gold)}@media(prefers-reduced-motion:reduce){.loading-screen .loading-hint{display:none}}.masthead,.scene-caption,.section-navigation{transition:opacity .5s ease .15s}.is-loading .masthead,.is-loading .scene-caption{opacity:0;pointer-events:none}.is-loading .section-navigation:not(:focus-within){opacity:0;pointer-events:none}.is-loading .section-navigation:focus-within{z-index:6}.is-loading .loading-preview{opacity:0}.about-reader{display:none}@media(max-width:759px){.about-open .about-reader{display:block}.about-open .about-book-controls,.about-open .about-book-text{display:none!important}:root body.about-open:not(.has-about-book) #content-dialog{inset:max(10px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom));width:auto;height:auto;max-height:none;padding:12px 12px 28px;background:#202422;color:#1e1f1c;border:0;border-radius:30px;box-shadow:inset 0 1px #ffffff17,inset 0 0 0 1px #ffffff0b,0 24px 60px #0a120e8c;animation:reader-in .42s cubic-bezier(.2,.8,.2,1)}:root body.about-open:not(.has-about-book) #content-dialog:after{content:"";position:absolute;left:50%;bottom:11px;width:36px;height:4px;margin-left:-18px;border-radius:2px;background:#ffffff14}:root body.about-open:not(.has-about-book) #content-dialog::backdrop{background:#0d1511b3;-webkit-backdrop-filter:none;backdrop-filter:none}:root body.about-open:not(.has-about-book) .panel-header{padding:9px 12px 7px 18px;background:#f1eee6;border-radius:7px 7px 0 0;border-bottom:1px solid #1e1f1c14}:root body.about-open:not(.has-about-book) .panel-context{font-size:0}:root body.about-open:not(.has-about-book) .panel-context:before{content:"Gustavo Bitencourt · About me";font:600 10px/1 Avenir Next,Segoe UI,Arial,sans-serif;letter-spacing:1.1px;text-transform:uppercase;color:#6f6a5c}:root body.about-open:not(.has-about-book) .close-button{color:#2b2c28}:root body.about-open:not(.has-about-book) .panel-scroll{padding:0 22px;background:#f1eee6;border-radius:0 0 7px 7px;scrollbar-width:none}:root body.about-open:not(.has-about-book) .panel-scroll::-webkit-scrollbar{display:none}:root body.about-open:not(.has-about-book) .panel-copy>.eyebrow{display:none}:root body.about-open:not(.has-about-book) .panel-copy h2{font:600 29px/1.15 Iowan Old Style,Palatino Linotype,Palatino,Georgia,serif;letter-spacing:-.3px;color:#1e1f1c;margin:20px 0 10px;outline:none}:root body.about-open:not(.has-about-book) .panel-copy .panel-intro{display:block;font:italic 400 16px/1.55 Iowan Old Style,Palatino Linotype,Palatino,Georgia,serif!important;color:#4b4a43!important;margin:0 0 18px!important}:root body.about-open:not(.has-about-book) .panel-pagination{margin-top:26px;padding-bottom:18px;border-top-color:#1e1f1c1a}:root body.about-open:not(.has-about-book) .panel-pagination button{color:#4b4a43}.reader-tabs{position:sticky;top:0;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0 -22px;padding:10px 22px;background:#f1eee6;border-bottom:1px solid #1e1f1c12}.reader-tabs button{display:grid;gap:3px;padding:8px 10px;text-align:left;background:transparent;border:1px solid #1e1f1c26;border-radius:6px;color:#3b3c37}.reader-tabs strong{font:600 13px/1.2 Avenir Next,Segoe UI,Arial,sans-serif}.reader-tabs small{font:500 10.5px/1.2 Avenir Next,Segoe UI,Arial,sans-serif;color:#77736a}.reader-tabs [aria-selected=true]{background:#202422;border-color:#202422;color:#f1eee6}.reader-tabs [aria-selected=true] small{color:#c9c4b6}.reader-tabs button:focus-visible,.reader-action:focus-visible{outline:2px solid #202422;outline-offset:2px}.reader-text{padding:6px 0 4px;font:400 17px/1.62 Iowan Old Style,Palatino Linotype,Palatino,Georgia,serif;color:#1e1f1c;hyphens:auto;-webkit-hyphens:auto}.panel-copy .reader-text p{font:inherit;color:inherit;margin:0 0 .95em;text-wrap:pretty}.reader-page+.reader-page{margin-top:1.5em}.panel-copy .reader-text .reader-chapter{font:600 10.5px/1.4 Avenir Next,Segoe UI,Arial,sans-serif;letter-spacing:1.7px;text-transform:uppercase;color:#77736a;margin:1.6em 0 .5em}.panel-copy .reader-text h3{font:600 23px/1.25 Iowan Old Style,Palatino Linotype,Palatino,Georgia,serif;letter-spacing:-.2px;color:#1e1f1c;margin:0 0 .6em}.panel-copy .reader-text .reader-lead{font-size:19px;line-height:1.5}.panel-copy .reader-text .reader-words{text-align:center;font-style:italic;font-size:19px}.reader-contents{margin:0 0 1em;padding-left:1.3em}.reader-contents li{margin:.2em 0}.reader-facts{margin:0 0 1em}.reader-facts dt{font-weight:700}.reader-facts dd{margin:0 0 .7em}.reader-rule{border:0;margin:1.4em 0;text-align:center;color:#8d887a}.reader-rule:after{content:"·   ·   ·";white-space:pre;letter-spacing:2px}.reader-action{font:600 14px/1 Avenir Next,Segoe UI,Arial,sans-serif;padding:12px 16px;border-radius:6px;background:#202422;color:#f1eee6}.reader-action.is-quiet{background:transparent;color:#3b3c37;padding:12px 0;text-decoration:underline;text-underline-offset:4px}.reader-progress{position:sticky;bottom:0;display:grid;grid-template-columns:1fr auto;gap:7px 12px;margin:0 -22px;padding:9px 22px 11px;background:#f1eee6;border-top:1px solid #1e1f1c12;font:500 10.5px/1.2 Avenir Next,Segoe UI,Arial,sans-serif;color:#6f6a5c}.reader-where{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;letter-spacing:.4px}.reader-percent{font-variant-numeric:tabular-nums}.reader-progress i{grid-column:1 / -1;display:block;height:2px;background:#1e1f1c17}.reader-progress b{display:block;height:100%;background:#202422;transform:scaleX(0);transform-origin:left}:root body.has-about-book.about-open #content-dialog{inset:auto 8px max(8px,env(safe-area-inset-bottom));width:auto;height:auto;max-height:40dvh;border-radius:14px}:root body.has-about-book.about-open .panel-header{padding:8px 10px 0 16px}:root body.has-about-book.about-open .panel-scroll{padding:0 16px 14px}:root body.has-about-book.about-open .panel-copy h2{font-size:19px;letter-spacing:-.4px;margin:0 0 10px}:root body.has-about-book.about-open .panel-pagination{display:none}:root body.has-about-book.about-open .panel-context{font-size:0}:root body.has-about-book.about-open .panel-context:before{content:"01 / The e-reader";font-size:10px}.has-about-book.about-open .reader-tabs{position:static;margin:0;padding:0;border:0;background:none}.has-about-book.about-open .reader-text,.has-about-book.about-open .reader-progress{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}}@media(max-width:759px)and (prefers-reduced-motion:reduce){:root body.about-open:not(.has-about-book) #content-dialog{animation:none}}@keyframes reader-in{0%{transform:translateY(28px);opacity:0}to{transform:none;opacity:1}}.reader-art{margin:1.5rem 0}.reader-art img{display:block;width:100%;height:auto;mix-blend-mode:multiply}.reader-art figcaption,.reader-art-caption{font-size:.78em;color:#666452}.reader-note{font-style:italic;color:#355a43}.reader-steps{padding-left:1.4em}.reader-steps li{padding:.6em 0;border-bottom:1px solid #d3c9b6}.reader-steps li p{margin:.25em 0}
