@font-face{font-family:Bricolage Grotesque;src:url(/fonts/BricolageGrotesque-Variable.woff2) format("woff2");font-weight:200 800;font-stretch:75% 100%;font-style:normal;font-display:swap}@font-face{font-family:Playfair Display;src:url(/fonts/PlayfairDisplay-500-italic.woff2) format("woff2");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-400.woff2) format("woff2");font-weight:400;font-display:swap}:root{--bg:#f2e8d9;--ink:#244c4d;--text:#3e5854;--muted:#5e665b;--line:#ccceba;--hover:#dce3ce;--surface:#faf1df;--blue:#326b7d;--violet:#79559a;--copper:#a24e32;--green:#397265;--shadow:0 18px 42px -16px #354c443b;--ease:cubic-bezier(.16,1,.3,1);--z-overlay:2;--z-float:3;--white:#faf1df;--gray-760:#244c4d;--gray-520:#397265;--fw-light:300;--fw-semibold:600;--fs-21:21px;--fs-12:12px;--radius-pill:50px;--radius-6:6px;--radius-4:4px;--dur-500:.5s;--dur-200:.2s;--dur-150:.15s;--dur-250:.25s;--ctv-pill-pad:10px 20px;--ctv-chip-gap:6px;--ctv-chip-pad:8px 14px;color-scheme:light}html{scroll-behavior:auto;scroll-padding-top:104px;scrollbar-color:#6a9183 var(--bg)}body{font-family:Bricolage Grotesque,sans-serif;font-optical-sizing:auto;font-size:16px;line-height:1.75;overflow-x:clip;background:var(--bg);transition:none}::selection{background:#eaa784;color:#234948}a{caret-color:var(--copper);text-underline-offset:5px}a:focus-visible,button:focus-visible{outline:3px solid #9a4b2d;outline-offset:5px}.skip{z-index:30}.wordmark{font-size:25px;font-weight:700;letter-spacing:-.035em;text-decoration:none;line-height:1}.wordmark span{color:#a34f31}.pin{height:260svh;position:relative;margin:0}.stage{position:sticky;top:0;height:100svh;min-height:560px;isolation:isolate;background:#111722}.scene-ground{position:absolute;inset:0;background:radial-gradient(ellipse at 23% 40%,#16678160 0,transparent 49%),radial-gradient(ellipse at 79% 33%,#71347a66 0,transparent 48%),radial-gradient(ellipse at 55% 95%,#a9776828 0,transparent 43%),linear-gradient(145deg,#172331,#23233e 47%,#332038);opacity:var(--ground-opacity,1)}.ceramic-mac{position:absolute;left:0;right:0;margin-inline:auto;top:12%;width:min(1040px,91%);height:73%}.ctv{height:100%;position:relative}.loading-note{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);text-align:center;color:var(--ink);width:260px;transition:opacity .2s}.loading-note a{display:block;font-size:13px;margin-top:14px}.loading-note[hidden]{display:none}.ctv-pill{background:#244c4d!important;color:#faf1df!important;box-shadow:none!important;border:0;bottom:9%!important;font-size:18px!important}.ctv-pill svg{width:18px;height:18px;stroke:currentColor}.ctv-disk__chip{background:#244c4d!important;color:#faf1df!important}.ctv-screen:focus-visible{outline:3px solid #b35e3c!important;outline-offset:-5px}.page{position:relative;z-index:4;width:min(720px,calc(100% - 48px));margin:-100svh auto 0;padding:110px 0 42px;visibility:var(--portfolio-visibility,visible);opacity:var(--portfolio-opacity,1);outline:none}.page .identity{margin-bottom:0;padding-bottom:32px;border-bottom:1px solid var(--line)}.identity h1{font-size:clamp(40px,5.8vw,64px);font-weight:600;letter-spacing:-.04em;line-height:1.06;color:var(--ink)}.roleline{font-size:22px;margin-top:18px;gap:7px;flex-wrap:wrap;min-height:35px}.role-button{font-size:22px;color:var(--copper)}#role-text{background:none!important;-webkit-text-fill-color:currentColor!important;animation:none!important;color:var(--copper)}.role-button .cycle{width:15px;height:15px}.page section{margin-top:80px}.page .about{margin-top:36px}.about h2{font-size:22px;margin-bottom:18px;font-weight:500}.page h2{font-size:30px;line-height:1.2;font-weight:600;letter-spacing:-.025em}.page .about h2{font-size:22px;letter-spacing:-.02em}.role-copy{min-height:0}.role-copy p,.work-detail p{max-width:100%}.fixed-copy,.personal-about>p{font-size:16px;color:var(--text)}.personal-about{margin-top:28px}.personal-interests{margin-top:18px}.proof{font-size:12px;gap:12px 24px;margin-top:27px}.proof a{color:var(--green)}.section-title{margin-bottom:30px}.work-group h3{font-size:14px;font-weight:500;color:var(--muted);margin-bottom:8px}.work-group+.work-group{margin-top:38px}.work-trigger{width:100%;margin-left:0;border-radius:0;border-bottom:1px solid var(--line);padding:22px 0;gap:20px;background:transparent}.work-trigger:before{display:none}.work-trigger:hover,.work-trigger:focus-visible,.work-trigger[aria-expanded=true]{background:transparent}.work-trigger .work-name{font-size:20px;font-weight:500;text-decoration:none;transition:color .2s}.work-trigger .work-desc{font-size:14px;color:var(--text)}.work-trigger:hover .work-name{color:var(--copper)}.work-trigger .row-arrow{width:19px;height:19px;color:var(--green);opacity:1}.product-row .work-trigger{min-height:108px}.product-row .work-trigger>svg:first-child{width:76px;height:68px;flex:none}.product-row .work-trigger .work-name{font-size:23px}.product-row .work-trigger{display:grid;grid-template-columns:76px 1fr 20px;column-gap:22px;row-gap:0}.product-row .work-trigger>svg:first-child{grid-column:1;grid-row:1 / 3}.product-row .work-name{grid-column:2;align-self:end;line-height:1.35}.product-row .work-desc{grid-column:2;align-self:start;margin-top:3px}.product-row .row-arrow{grid-column:3;grid-row:1 / 3}.work-detail{padding:24px 0 30px;font-size:16px}.work-detail p+p{margin-top:16px}.work-detail .detail-image{width:100%;border-radius:14px;margin:24px 0 8px}.detail-meta{font-size:12px;color:var(--muted)}.detail-links a{font-size:14px;color:var(--green)}.hover-preview{left:auto;right:calc(100% + 24px);width:218px;transform-origin:100% 50%;border-radius:12px}.archive{font-size:14px;margin-top:28px}.compact-icon{border-radius:12px!important;box-shadow:inset 0 1px 1px #ffffff80,0 3px 7px -4px #38534235}.icon-amber{background:#e9c39d!important;color:#815333!important}.icon-lavender{background:#d9cde5!important;color:#69478a!important}.icon-blue{background:#c6dadc!important;color:#315f71!important}.icon-green{background:#c9d9bc!important;color:#3a6553!important}.capabilities{display:block}.capabilities li{display:grid;grid-template-columns:40px 1fr;gap:4px 18px;padding:20px 0;border-bottom:1px solid var(--line)}.capabilities li>.compact-icon{grid-row:1 / 3}.capabilities strong{font-size:17px}.capabilities li>span:last-child{font-size:15px;max-width:60ch}.practice-intro,.journey-intro,.contact-copy{font-size:16px}.chapter{padding-bottom:42px}.chapter h3{font-size:19px;letter-spacing:-.02em;font-weight:500}.chapter-year{font-size:13px}.chapter-body p{font-size:16px;max-width:62ch}.chapter-links a{font-size:12px}.career-trail{font-size:13px}.writing-list a{font-size:15px;padding-top:13px;padding-bottom:13px}.writing-list li{border-bottom:1px solid var(--line)}#contact{padding:36px;background:#dce3ce;border-radius:28px;margin-left:-36px;margin-right:-36px}.contact-link{font-size:16px}.contact-list{gap:16px}.email-row{flex-wrap:wrap}.copy-button{width:40px;height:40px;border-radius:10px;background:#f2e8d9}.copy-button:hover{background:#f9f1e4}footer{margin-top:56px;font-size:12px;border-top:1px solid var(--line);padding-top:24px}.toast{background:var(--ink);color:var(--surface);z-index:30}@media(min-width:1600px){.ceramic-mac{width:1120px;height:76%;top:10%}.page{width:760px}}@media(max-width:1150px){.hover-preview{display:none}}@media(max-width:700px){.wordmark{font-size:23px}.stage{min-height:560px}.ceramic-mac{top:18%;height:60%;width:100%}.pin{height:230svh}.page{width:calc(100% - 48px);padding-top:85px}.page section{margin-top:60px}.page .about{margin-top:30px}.identity h1{font-size:43px}.roleline,.role-button{font-size:20px}.page h2{font-size:27px}.about h2{font-size:21px}.work-trigger{gap:12px;padding:19px 0;flex-wrap:wrap}.work-trigger .work-name{font-size:18px}.work-trigger .work-desc{font-size:13px}.work-trigger.icon-row{display:grid;grid-template-columns:32px 1fr 18px;gap:0 14px}.icon-row .compact-icon{grid-row:1 / 3;grid-column:1}.icon-row .work-name,.icon-row .work-desc{grid-column:2}.icon-row .row-arrow{grid-row:1 / 3;grid-column:3}.product-row .work-trigger{grid-template-columns:56px 1fr 18px;column-gap:14px}.product-row .work-trigger>svg:first-child{width:56px;height:58px}.product-row .work-trigger .work-name{font-size:21px}.work-detail{font-size:15px}.proof{gap:12px;font-size:11px}.chapter-body p{font-size:15px}#contact{margin-left:-12px;margin-right:-12px;padding:25px 20px;border-radius:20px}.contact-link{font-size:14px}.personal-interest{min-width:0}.personal-interests{gap:8px}.personal-interest span{font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.pin{height:100svh}.page{margin-top:0;visibility:visible!important;opacity:1!important}.stage{min-height:0}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(forced-colors:active){.page{visibility:visible!important;opacity:1!important}.pin{display:none}.page{margin-top:0}.work-trigger{border-bottom:1px solid CanvasText}}:root[data-theme=dark]{--bg:#0b121d;--ink:#f4eee4;--text:#bdc6d3;--muted:#a3b0c1;--line:#34414f;--hover:#222d3c;--surface:#202a39;--blue:#9dc7ee;--violet:#c5a5e8;--copper:#efae8d;--green:#9acfc0;--shadow:0 18px 42px -16px #0009;color-scheme:dark}:root[data-theme=light]{--bg:#293846;--ink:#f0ece3;--text:#c0cdd7;--muted:#a8bac7;--line:#506170;--hover:#354959;--surface:#344755;--blue:#afd1e8;--violet:#d0b6e6;--copper:#efbd9a;--green:#b1d4c6;color-scheme:dark}:root[data-theme=light] #contact{background:#344755}:root[data-theme=light] .copy-button{background:#405666}:root[data-theme=light] .copy-button:hover{background:#506778}.wordmark span{color:#eeac91}.loading-note{color:#f4eee4}.mode-toggle{position:fixed;z-index:20;right:4vw;top:23px;display:flex;align-items:center;gap:9px;padding:10px 14px;border:1px solid var(--line);border-radius:30px;background:var(--surface);color:var(--ink);font-size:13px;font-weight:500;box-shadow:0 4px 12px -7px #0008;transition:background .2s}.mode-toggle:hover{background:var(--hover)}.mode-toggle svg{width:17px;height:17px;stroke:currentColor;stroke-width:1.5}.ctv-pill{background:#ede7dc!important;color:#25313c!important}.ctv-disk__chip{background:#f0e8dd!important;color:#263340!important}:root[data-theme=dark] #contact{background:#202f39}:root[data-theme=dark] .copy-button{background:#324653}:root[data-theme=dark] .copy-button:hover{background:#425b69}:root[data-theme=dark] .icon-amber{background:#564337!important;color:#efc7a4!important}:root[data-theme=dark] .icon-lavender{background:#40374f!important;color:#d4b7ef!important}:root[data-theme=dark] .icon-blue{background:#2c4354!important;color:#b3d4ed!important}:root[data-theme=dark] .icon-green{background:#304b42!important;color:#b3d9bf!important}:root[data-theme=dark] .toast{background:#e9e2d8;color:#18202c}@media(max-width:700px){.mode-toggle{right:22px;top:19px;width:42px;height:42px;padding:11px}.mode-toggle span{display:none}.mode-toggle svg{width:18px;height:18px}}:root[data-theme=light] .scene-ground{background:#252c38}#theme-toggle{display:none!important}.stage.is-portfolio-pinned{position:fixed;inset:0;width:100%;pointer-events:none}.page{padding-top:44svh;padding-bottom:18svh;color:#dfdfe5;--ink:#f5f0e7;--text:#d2d5df;--muted:#afb8c9;--line:#dce4f02e;--copper:#efb38d;--green:#a7cebf;--hover:#ffffff0a}.name-letter{display:inline-block}.page .identity{border-bottom:0;padding-bottom:0}.page .roleline{margin-top:24px}.page .about{margin-top:40px;max-width:640px}.page #work{margin-top:120px}@media(prefers-reduced-motion:reduce){.name-letter{opacity:1!important;transform:none!important}.page{padding-top:100px}}.intro-word{display:inline-block;white-space:nowrap}.intro-letter{display:inline-block}@media(prefers-reduced-motion:reduce){.intro-letter{opacity:1!important;transform:none!important}}.page{width:min(1120px,calc(100% - 64px))}.page .identity,.page .about{max-width:720px}#work .work-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}#work .work-item{min-width:0;border:1px solid #ffffff24;border-radius:22px;overflow:hidden;background:#111a2ce8;box-shadow:0 14px 40px #090c181f}#work .work-group:nth-child(2) .work-item:first-child{grid-column:1/-1}#work .work-trigger{display:block;width:100%;padding:0;margin:0;border:0;text-align:left;min-height:0;border-radius:0;background:none}#work .bento-media{display:flex;position:relative;width:100%;aspect-ratio:16/10;overflow:hidden;align-items:center;justify-content:center;background:#e9edf3}#work .bento-media img{width:100%;height:100%;object-fit:contain;display:block;transition:transform .35s ease-out}#work .work-group:nth-child(2) .work-item:first-child .bento-media{aspect-ratio:2.1}#work .work-trigger:hover .bento-media img{transform:scale(1.025)}#work .bento-caption{display:grid;grid-template-columns:1fr 24px;gap:6px 18px;padding:24px 26px 27px}#work .work-name{font-size:25px;line-height:1.2;grid-column:1;grid-row:1;color:#f5f0e7}#work .work-desc{font-size:14px;grid-column:1;grid-row:2;color:#bac5d7}#work .row-arrow{grid-column:2;grid-row:1/3;align-self:center}#work .bento-art{flex-direction:column;gap:16px;background:#dce5ed;color:#203b50}#work .bento-art>svg{width:130px;height:130px;max-width:none;flex:none}#work .bento-art-title{font-size:35px;font-weight:600;letter-spacing:-.035em}#work .work-group:nth-of-type(3) .bento-art{background:#e4dcef;color:#553d70}#work .work-detail{padding:8px 26px 28px;color:#ced6e3;font-size:15px}#work .work-group>h3{margin:0 0 20px;font-size:16px}#work .work-group+.work-group{margin-top:54px}#work .work-detail a{color:#b8dcdb}@media(max-width:650px){.page{width:calc(100% - 40px)}#work .work-list{grid-template-columns:1fr;gap:18px}#work .bento-caption{padding:20px}#work .work-name{font-size:23px}#work .work-group:nth-child(2) .work-item:first-child .bento-media{aspect-ratio:16/10}}@media(prefers-reduced-motion:reduce){#work .bento-media img{transition:none}}#work .work-group:nth-child(3) .work-list{grid-template-columns:repeat(3,minmax(0,1fr))}#work .work-group:nth-child(4) .work-item:last-child{grid-column:1/-1}#work .work-group:nth-child(4) .work-item:last-child .bento-media{aspect-ratio:2.1}@media(max-width:650px){#work .work-group:nth-child(3) .work-list{grid-template-columns:1fr}#work .work-group:nth-child(4) .work-item:last-child .bento-media{aspect-ratio:16/10}}#work .work-group .work-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}#work .work-group .work-item:first-child,#work .work-group .work-item:last-child{grid-column:auto}#work .work-item{border-radius:24px;padding:10px}#work .work-group .work-item .bento-media{width:100%;aspect-ratio:4/3;border-radius:16px;overflow:hidden}#work .bento-media img{border-radius:inherit}#work .bento-caption{padding:21px 12px 17px;gap:8px 12px}#work .work-name{font-size:22px}#work .work-desc{font-size:13px;line-height:1.5}#work .bento-art>svg{width:100px;height:100px}#work .bento-art-title{font-size:27px}#work .work-detail{padding:8px 12px 20px}@media(min-width:651px)and (max-width:950px){#work .work-group .work-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){#work .work-group .work-list{grid-template-columns:1fr}}#work .work-group:nth-child(n) .work-item:nth-child(n){grid-column:auto}#work .work-group:nth-child(n) .work-item:nth-child(n) .bento-media{aspect-ratio:4/3}#work .work-item{background:#fff;border-color:#ffffffb3;box-shadow:0 12px 32px #18223618}#work .work-name{color:#202d3b}#work .work-desc{color:#617080}#work .row-arrow{color:#526c70}#work .work-detail{color:#465464}#work .work-detail a,#work .work-trigger:hover .work-name{color:#245d73}.page{--mac-paper:#faf9f5;--mac-ink:#252729;--mac-rule:#323638}.mac-bar{display:flex;align-items:center;gap:10px;height:31px;padding:0 10px;border-bottom:1px solid var(--mac-rule);color:var(--mac-ink);font:11px/1 JetBrains Mono,monospace;background:repeating-linear-gradient(0deg,transparent 0 2px,#76797655 2px 3px,transparent 3px 5px)}.mac-bar>span{background:var(--mac-paper);padding:4px 8px;margin:auto;white-space:nowrap}.mac-bar i{width:11px;height:11px;flex:none;border:1px solid var(--mac-rule);background:var(--mac-paper)}#work .work-item{background:var(--mac-paper);border:1px solid var(--mac-rule);border-radius:14px;padding:7px;box-shadow:4px 4px #18202880}#work .work-trigger>.mac-bar{margin:-1px -1px 9px;border-radius:6px 6px 0 0}#work .work-group .work-item .bento-media{border:1px solid #25272935;border-radius:9px}.insight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;list-style:none;padding:0;margin:28px 0 0}.capabilities.insight-grid li{display:block;padding:7px;border:1px solid var(--mac-rule);border-radius:14px;overflow:hidden;background:var(--mac-paper);color:var(--mac-ink);box-shadow:4px 4px #18202880}.insight-visual{height:230px;margin-top:9px;border:1px solid #25272935;border-radius:9px;background:#e9ede6;display:flex;align-items:center;justify-content:center;font:12px/1.4 JetBrains Mono,monospace;position:relative;overflow:hidden}.direction-visual{flex-direction:column;gap:5px;background:#e6ecea}.diagram-node{border:1px solid #4c6058;background:#faf9f5;padding:8px 16px;box-shadow:2px 2px #74877935}.primary-node{background:#c7d8cd}.diagram-connector{font-size:17px}.system-visual{flex-direction:column;gap:24px;background:#ebe8ee}.system-core{border:1px solid #6a6078;padding:10px;background:#faf9f5;position:relative}.system-core:after{content:"";position:absolute;left:50%;height:24px;top:100%;border-left:1px solid #6a6078}.system-branches{display:flex;gap:10px;border-top:1px solid #6a6078;padding-top:16px}.system-branches span{padding:8px 6px;border:1px solid #6a6078;background:#faf9f5;font-size:10px}.system-caption{font-size:10px;color:#61596b}.build-visual{background:#eee7da}.build-preview{width:76%;border:1px solid #76674e;background:#faf9f5;box-shadow:4px 4px #bfb49f;padding:17px}.build-lines{display:grid;gap:7px;margin:18px 0}.build-lines b{height:5px;background:#c9c6bb}.build-lines b:nth-child(2){width:65%}.build-lines b:nth-child(3){width:82%}.build-button{display:block;text-align:center;border:1px solid #76674e;border-radius:4px;padding:8px 4px;background:#e2d9bf;font-size:10px}.insight-copy{padding:20px 14px 17px}.capabilities .insight-copy strong{display:block;font-size:21px;line-height:1.22;font-weight:500}.insight-copy p{font-size:14px;line-height:1.65;margin-top:13px;color:#596069}.insight-tag{display:inline-block;font:10px/1.4 JetBrains Mono,monospace;border:1px solid #b8bdb8;padding:5px 8px;margin-top:20px;border-radius:3px}.writing-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;list-style:none;padding:0;margin:28px 0 0}.writing-list li{border:0}.writing-list .writing-link{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:7px;border:1px solid var(--mac-rule);border-radius:14px;background:var(--mac-paper);color:var(--mac-ink);box-shadow:4px 4px #18202880;text-decoration:none;height:100%}.writing-link>.compact-icon{display:none}.article-art{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:28px;background:#e5eae8;min-height:230px;margin-top:9px;border:1px solid #25272935;border-radius:9px;padding:26px}.writing-list li:nth-child(2) .article-art{background:#e9e5ed}.article-diagram{display:flex;align-items:center;gap:13px;font:12px/1 JetBrains Mono,monospace}.article-diagram b{padding:16px 10px;border:1px solid #5f6d69;background:#faf9f5;font-weight:400;box-shadow:3px 3px #9ba9a2}.article-diagram em{font:25px/1 sans-serif;font-style:normal}.article-art-caption{font:12px/1.6 JetBrains Mono,monospace;max-width:32ch;text-align:center;color:#616a68}.writing-list .writing-text{padding:22px 16px 12px;font-size:21px;line-height:1.3;font-weight:500}.writing-text small{font-size:13px;color:#687078;margin-top:10px}.writing-link>.inline-arrow{align-self:flex-end;margin:0 16px 16px;width:18px;height:18px;color:#3e5556}.writing-link:hover .writing-text{text-decoration:underline;text-underline-offset:4px}@media(max-width:850px){.insight-grid{grid-template-columns:1fr}.insight-visual{height:220px}.insight-copy{padding:20px}.writing-list{grid-template-columns:1fr}}.capabilities .insight-copy strong,.writing-list .writing-text{color:var(--mac-ink)}.writing-list{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;grid-auto-rows:1fr}.writing-list li{display:flex;min-width:0;margin:0}.writing-list .writing-link{width:100%;height:100%;min-height:410px}.writing-list .article-art{min-height:0;height:230px;flex:none;padding:18px 12px}.writing-list .article-diagram{font-size:10px;gap:8px}.writing-list .article-diagram b{padding:13px 8px}.writing-list .article-art-caption{font-size:11px}.writing-list .writing-text{font-size:20px;flex:1}.writing-list .writing-link>.inline-arrow{flex:none;margin-top:12px}@media(min-width:651px)and (max-width:950px){.writing-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.writing-list{grid-template-columns:1fr}}.writing-list>li,.writing-list>li+li{margin:0;padding:0;border:0;height:440px}.writing-list>li>.writing-link{height:440px;min-height:440px;box-sizing:border-box}.mac-bar{box-sizing:border-box;height:31px;min-height:31px;max-height:31px;flex:0 0 31px}.writing-list .writing-link>.mac-bar{margin:-1px -1px 0;border-radius:6px 6px 0 0}.file-count{font:11px/1.5 JetBrains Mono,monospace;color:#d8e1de}#work .work-trigger{color:inherit;text-decoration:none}#work .work-item{transition:transform .22s ease-out,box-shadow .22s ease-out}#work .work-item:hover,#work .work-item:focus-within{transform:translateY(-6px);box-shadow:7px 10px #18202880}#work .work-item:is(:hover,:focus-within) .mac-bar{background:#253c8a;color:#fff;border-color:#253c8a}#work .work-item:is(:hover,:focus-within) .mac-bar>span{background:#253c8a}#work .work-item:is(:hover,:focus-within) .mac-bar i{background:#fff}#work .work-item .bento-media:after{content:"VIEW CASE STUDY ↗";position:absolute;bottom:12px;right:12px;background:#faf9f5;color:#26313b;border:1px solid #26313b;border-radius:4px;padding:8px 10px;font:10px/1.2 JetBrains Mono,monospace;opacity:0;transform:translateY(6px);transition:opacity .18s ease-out,transform .18s ease-out}#work .work-item:is(:hover,:focus-within) .bento-media:after{opacity:1;transform:translateY(0)}#work .case-open{grid-column:2;grid-row:1/3;align-self:center;white-space:nowrap;font:10px/1.3 JetBrains Mono,monospace;color:#5d6b6b}#work .bento-caption{grid-template-columns:1fr auto}#work .work-trigger:focus-visible{outline:3px solid #253c8a;outline-offset:-3px;border-radius:8px}.writing-list .writing-link{transition:transform .22s ease-out,box-shadow .22s ease-out}.writing-list .writing-link:is(:hover,:focus-visible){transform:translateY(-5px);box-shadow:7px 9px #18202880}.writing-list .writing-link:is(:hover,:focus-visible) .mac-bar,.writing-list .writing-link:is(:hover,:focus-visible) .mac-bar>span{background:#253c8a;color:#fff}@media(max-width:650px){.file-count{display:none}}@media(prefers-reduced-motion:reduce){#work .work-item,.writing-list .writing-link,#work .work-item .bento-media:after{transition:none}#work .work-item:hover,#work .work-item:focus-within,.writing-list .writing-link:is(:hover,:focus-visible){transform:none}}.loading-note{position:fixed;inset:0;z-index:100;transform:none;width:auto;display:flex;align-items:center;justify-content:center;background:#060c17;color:#a8b5c8;isolation:isolate;transition:opacity .85s ease-out}.loading-note:before,.loading-note:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none}.loading-note:before{background-image:radial-gradient(circle at 12% 18%,#dbe8ff 0 .8px,transparent 1.4px),radial-gradient(circle at 72% 30%,#c8d8ff 0 .7px,transparent 1.3px),radial-gradient(circle at 33% 68%,#a9b8de 0 .6px,transparent 1.2px);background-size:293px 239px,379px 347px,199px 281px;opacity:.45}.loading-note:after{background:radial-gradient(ellipse at 70% 40%,#17274750,transparent 60%)}.loading-note.is-ready{opacity:0;pointer-events:none}.initial-mac-outline{width:min(350px,66vw);height:auto;overflow:visible;transition:opacity .3s ease-out}.initial-mac-lines{stroke:#8394a8;stroke-width:.7;opacity:.7}.initial-mac-lines>rect:first-child{fill:#080e1b}.initial-mac-lines>rect:nth-child(3){fill:#080e1b;stroke:#65758b}.loading-note.is-ready .initial-mac-outline{opacity:0}.stage{background:#060c17!important}.scene-ground{background:#060c17 radial-gradient(circle at 12% 18%,#c8d9fa 0 .8px,transparent 1.4px) 0 0/293px 239px!important}.ctv-vector-text{backface-visibility:hidden}html[data-booting=true] .ctv-gl{opacity:0!important}html[data-booting=true] .page,html[data-booting=true] .ctv-vector-text{visibility:hidden!important}html[data-booting=true] .space-ui{visibility:hidden!important;opacity:0!important;pointer-events:none!important}html[data-launch-phase] .resume-vector{visibility:hidden!important}.boot-device-enter .ctv-gl{animation:device-first-frame .85s ease-out both}@keyframes device-first-frame{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.loading-note,.initial-mac-outline{transition:none}.boot-device-enter .ctv-gl{animation:none}}.loading-note.is-ready{transition:none}.loading-note.is-ready .initial-mac-outline{opacity:0;transition:none}.boot-device-enter .ctv-gl{animation:none}.desktop-entry{position:relative;margin-top:-100svh;height:100svh;visibility:hidden;pointer-events:none}@font-face{font-family:Halo Handwritten;src:url(/fonts/Caveat-Variable.ttf) format("truetype");font-style:normal;font-weight:400 700;font-display:swap}@font-face{font-family:Halo Anton;src:url(/fonts/Anton-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}.space-ui{position:fixed;inset:0;pointer-events:none;z-index:60;color:#fff2df;font-family:inherit}.space-ui button{pointer-events:auto;color:inherit;font:inherit;cursor:pointer;border:1px solid #f5dcc64d;background:linear-gradient(145deg,#55404bd9,#231c30e8);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:24px;padding:12px 20px;box-shadow:0 6px 20px #09061140,inset 0 1px #fff3;transition:background .2s}.space-ui button:hover{background:#675064e8}.space-ui button:focus-visible{outline:2px solid #ffd59a;outline-offset:4px}.space-launch{position:absolute;right:26px;bottom:28px}.space-launch span{margin-left:12px}.space-scroll-hint{position:absolute;bottom:26px;left:50%;transform:translate(-50%);margin:0;max-width:calc(100% - 32px);font-size:12px;line-height:1.4;text-align:center;color:#eee8f1b3;white-space:nowrap}.flight-announcement{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}html:not([data-space-state=ROOM])[data-space-state] .ctv-screen,html:not([data-space-state=ROOM])[data-space-state] .ctv-disk{visibility:hidden!important}.space-ui [hidden]{display:none!important}@media(pointer:coarse){.space-launch{bottom:88px;right:16px}}@media(prefers-reduced-motion:reduce){.space-ui *{transition:none!important}}.space-intro{position:absolute;inset:0;margin:0;padding:0;pointer-events:none;text-align:center;color:#f5f1f3}.space-intro:focus{outline:none}.space-intro h2{position:absolute;top:19%;left:50%;transform:translate(-50%);margin:0;font:400 clamp(64px,17vh,165px)/1 "Halo Anton",sans-serif;letter-spacing:0}.space-intro.is-rendered h2{width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(max-width:700px){.space-intro h2{top:20%;font-size:18vw}}.space-caption{position:absolute;top:calc(var(--word-bottom,36%) + 8px);left:50%;transform:translate(-50%);width:var(--word-width,40vw);max-width:calc(100vw - 32px);margin:0;color:#f5f1f3;font-family:Halo Handwritten,cursive;font-size:clamp(7px,1.3vw,22px);font-weight:500;line-height:1.3;text-align:center;word-spacing:normal;white-space:nowrap;pointer-events:none}.space-window-access{width:1px;height:1px;min-height:0;padding:0!important;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.space-window-access:focus-visible{width:auto;height:auto;min-height:44px;padding:12px 20px!important;clip-path:none;left:50%;right:auto;bottom:28px;transform:translate(-50%)}.space-intro.has-caption-vector .space-caption{position:absolute;width:1px;height:1px;padding:0;margin:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.space-ui .space-window-access,.space-ui .space-window-access:focus-visible{position:absolute;width:1px;height:1px;min-height:0;padding:0!important;margin:0;overflow:hidden;clip-path:inset(50%);border:0;background:none;box-shadow:none;outline:none;pointer-events:none}.scene-entry-hint{position:absolute;left:50%;bottom:max(24px,env(safe-area-inset-bottom));transform:translate(-50%);width:max-content;max-width:calc(100% - 40px);margin:0;padding:0;font:400 11px/1.6 JetBrains Mono,ui-monospace,monospace;letter-spacing:.015em;text-align:center;color:#f0e8dfba;pointer-events:none;-webkit-user-select:none;user-select:none;background:none;border:0;box-shadow:none}html[data-launch-phase] .scene-entry-hint{visibility:hidden}@media(max-width:600px){.scene-entry-hint{font-size:10px;max-width:calc(100% - 32px)}}@media(forced-colors:active){.scene-entry-hint{color:CanvasText}}.diary-reader{position:fixed;inset:0;z-index:45;display:grid;place-items:center;padding:28px;background:transparent;color:#f5ecda;font-family:Bricolage Grotesque,sans-serif;overflow:auto;overscroll-behavior:contain;outline:none}.diary-reader[hidden]{display:none}.diary-workspace{width:min(900px,calc((100svh - 150px)*1.54),calc(100vw - 64px));display:flex;flex-direction:column;align-items:center;gap:16px}.diary-accessible-title,.diary-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.diary-book-area{width:100%;perspective:1800px;padding:10px 0 14px}.diary-volume{position:relative;width:100%;aspect-ratio:1.54;transform-style:preserve-3d;transform-origin:50% 50%;cursor:var(--focus-exit-cursor)}.diary-back-cover{position:absolute;left:calc(50% - 6px);right:-7px;top:-7px;bottom:-8px;border-radius:5px 11px 12px 5px;background:#62412c url(/textures/diary-leather.png) center/cover;box-shadow:inset 0 1px 1px #ddb58266,inset -1px -3px 1px #21140d,3px 12px 19px #11111d40;transform:translateZ(-2px)}.diary-pageblock{position:absolute;inset:3px -3px -5px 50%;background:repeating-linear-gradient(0deg,#cdbf9f 0 1px,#eee3ca 1px 3px);border-radius:0 5px 6px 0;box-shadow:0 2px 1px #b6a482}.diary-spread{position:absolute;inset:0;transform-style:preserve-3d}.diary-page{position:absolute;top:0;bottom:0;width:50%;margin:0;overflow:hidden;color:#302d28;user-select:none;-webkit-user-select:none;touch-action:none;cursor:pointer;background:#f7f0de;transform-style:preserve-3d}.diary-left{left:0;border-radius:5px 0 0 6px;background:linear-gradient(90deg,#f7f0de 90%,#e8ddc5);transform:translateZ(12px)}.diary-right{right:0;border-radius:0 5px 6px 0;background:linear-gradient(90deg,#e8ddc5,#f7f0de 10%);transform:translateZ(12px)}.diary-page:after{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(#6b8f9b24 1px,transparent 1px),linear-gradient(90deg,#6b8f9b24 1px,transparent 1px);background-size:18px 18px;background-position:center;mix-blend-mode:multiply}.diary-left.is-inside-cover{background:transparent;box-shadow:none}.diary-left.is-inside-cover:after{display:none}.diary-reader[data-cover=closed] .diary-page{pointer-events:none}.diary-reader.is-page-dragging .diary-page{cursor:pointer}.diary-page-number{position:absolute;bottom:5%;font:400 13px/1 Halo Handwritten,cursive;color:#827459;z-index:1;pointer-events:none}.diary-left .diary-page-number{left:10%}.diary-right .diary-page-number{right:10%}.diary-gutter{position:absolute;left:calc(50% - 2px);top:0;bottom:0;width:4px;transform:translateZ(19px);background:linear-gradient(90deg,#e6dac2,#b7a28399 48%,#ede3cd);pointer-events:none}.diary-front-cover{position:absolute;left:calc(50% - 5px);width:calc(50% + 12px);top:-7px;bottom:-8px;padding:0;border:0;background:transparent;border-radius:4px 11px 12px 4px;appearance:none;user-select:none;-webkit-user-select:none;transform-origin:0 50%;transform-style:preserve-3d;cursor:pointer;touch-action:none;will-change:transform}.diary-reader.is-inspecting .diary-front-cover{cursor:pointer}.diary-cover-outside,.diary-cover-inside{position:absolute;inset:0;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:4px 11px 12px 4px}.diary-cover-outside{display:flex;align-items:center;flex-direction:column;background:linear-gradient(110deg,#150e0752,#ffffff04 33%,#1a100640),url(/textures/diary-leather.png) center/cover,#6a4832;box-shadow:inset 5px 0 7px #21150d66,inset 0 1px 1px #e0bc8d66,inset -2px -3px 2px #2c190b66,3px 6px 8px #100f1738;color:#d6b77f}.diary-cover-outside:before{content:"";position:absolute;inset:13px;border:1px dashed #bc956454;border-radius:3px 7px 8px 3px;pointer-events:none}.diary-cover-title{margin-top:32px;max-width:88%;font:italic 400 clamp(29px,3.8vw,48px)/1.2 "Snell Roundhand","Apple Chancery",cursive;letter-spacing:0;text-shadow:0 -1.2px 1px #211207cc,0 1px .8px #dec19966;color:#ba9b70}.diary-cover-ship{width:68%;height:auto;margin-top:18%;pointer-events:none;-webkit-user-select:none;user-select:none}.diary-cover-mark{margin-top:22px;font:500 9px/1.4 Bricolage Grotesque,sans-serif;letter-spacing:.2em;text-shadow:0 -1px 1px #25170eb3,0 1px #e0bd8a40;color:#b89b71}.diary-cover-inside{display:flex;justify-content:center;align-items:flex-start;background:linear-gradient(90deg,#e4d7bd,#f2e8d0 10%,#f4ead2 86%,#d9c8a7);transform:rotateY(180deg);border-radius:10px 3px 3px 10px;box-shadow:inset 2px 0 4px #a8977540;color:#544638;pointer-events:none}.diary-cover-inside:before{content:"";position:absolute;inset:15px;border:1px dashed #a48e674d;border-radius:3px}.diary-name-card{position:relative;width:74%;box-sizing:border-box;margin-top:24%;padding:27px 22px 25px;border:1px dashed #9c8969;border-radius:2px;background:#fffaf02e;text-align:center;display:flex;flex-direction:column;gap:11px;line-height:1.45;color:#574837}.diary-name-caption{font:400 17px/1.2 Halo Handwritten,cursive;color:#76644d}.diary-name-card strong{font:500 clamp(24px,2.8vw,35px)/1.1 "Halo Handwritten",cursive;color:#3d382e;letter-spacing:-.01em}.diary-name-card>span:not(.diary-name-caption){font-size:12px}.diary-name-contact{display:flex;flex-direction:column;gap:5px;font-size:11px;overflow-wrap:anywhere}.diary-open-hint{height:23px;margin:0;font:500 21px/1.1 Halo Handwritten,cursive;color:#f5e8cf;text-shadow:0 1px 5px #15121b;pointer-events:none;opacity:1}.diary-reader button:focus-visible,.diary-page:focus-visible{outline:2px solid #f0d39b;outline-offset:5px}.diary-page:focus-visible{outline-offset:-5px}.diary-turning-leaf{display:none;position:absolute;top:0;bottom:0;width:50%;transform-style:preserve-3d;pointer-events:none;z-index:25}.diary-turning-leaf.is-active{display:block}.diary-turning-leaf.is-forward{left:50%;transform-origin:0 50%}.diary-turning-leaf.is-backward{left:0;transform-origin:100% 50%}.diary-leaf-front,.diary-leaf-back{display:none}.diary-segments{position:absolute;inset:0;transform-style:preserve-3d}.diary-segment{position:absolute;left:0;top:0;height:100%;transform-origin:0 50%;transform-style:preserve-3d;will-change:transform}.diary-segment-face{position:absolute;inset:0;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:#f7efdf}.diary-segment-face.is-back{transform:rotateY(180deg)}.diary-segment-face:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#5b402b1b,transparent 60%,#fff7dd22);pointer-events:none}.diary-segment-paper{position:absolute!important;top:0;height:100%;margin:0;border-radius:0!important;transform:none!important}@media(max-width:600px){.diary-reader{padding:16px}.diary-workspace{width:calc(100vw - 32px);gap:10px}.diary-volume{aspect-ratio:1.35}.diary-name-card{width:81%;margin-top:20%;padding:15px 9px;gap:6px}.diary-name-card strong{font-size:23px}.diary-name-caption{font-size:13px}.diary-name-card>span:not(.diary-name-caption){font-size:9px}.diary-name-contact{font-size:8px;gap:3px}.diary-cover-title{font-size:29px}.diary-cover-mark{font-size:7px;letter-spacing:.13em}.diary-cover-outside:before{inset:9px}.diary-cover-inside:before{inset:9px}.diary-icon{width:30px;height:30px;padding:7px}.diary-count{font-size:10px;min-width:104px}.diary-close-cover{font-size:18px;margin-left:4px}.diary-controls{gap:9px}.diary-open-hint{font-size:18px}.diary-page:after{background-size:13px 13px}}@media(prefers-reduced-motion:reduce){.diary-front-cover,.diary-segment{will-change:auto}}@media(forced-colors:active){.diary-cover-outside,.diary-cover-inside,.diary-page{background:Canvas;color:CanvasText;border:1px solid CanvasText}.diary-name-card,.diary-name-card strong,.diary-name-caption,.diary-name-contact{color:CanvasText}.diary-icon,.diary-close-cover,.diary-count,.diary-open-hint{color:ButtonText;text-shadow:none}}.diary-paper-canvas{position:absolute;pointer-events:none;transform:translateZ(12px);z-index:30;max-width:none!important;max-height:none!important}.diary-paper-canvas[hidden]{display:none}.diary-right.is-back-inside-cover{background:linear-gradient(90deg,#e0d1b4,#f4ead2 10%,#f2e8d0 90%,#e4d7bd);cursor:default}.diary-right.is-back-inside-cover:after{display:none}.diary-first-notes{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;z-index:1;pointer-events:none;user-select:none;-webkit-user-select:none}.diary-welcome{position:absolute;left:10%;top:50%;transform:translateY(-50%);width:80%;height:auto;object-fit:contain;pointer-events:none;user-select:none;-webkit-user-select:none;border-radius:4px;box-shadow:none}.diary-cover-outside,.diary-cover-inside{clip-path:inset(0 round 5px)}.diary-page{clip-path:inset(0 round 4px)}.diary-cover-outside:after,.diary-cover-inside:after,.diary-page:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:3;background:linear-gradient(102deg,transparent 39%,#94d6f014 48%,#ffe8b81a 52%,transparent 61%);transform:translate(-120%);opacity:.6;animation:diary-material-sweep 12s linear infinite;will-change:transform}@keyframes diary-material-sweep{0%,6.67%{transform:translate(-120%);opacity:0}8%{opacity:.6}19%{opacity:.6}20%,to{transform:translate(120%);opacity:0}}@media(prefers-reduced-motion:reduce){.diary-cover-outside:after,.diary-cover-inside:after,.diary-page:before{animation:none;opacity:0;will-change:auto}}.diary-reading-note{position:absolute;right:8%;bottom:7%;font:400 clamp(13px,1.3vw,18px)/1.2 "Halo Handwritten",cursive;color:#827459;pointer-events:none}.diary-left.is-inside-cover:before{display:none}.diary-reader[data-cover=closed] .diary-spread{visibility:hidden}.diary-reader .diary-front-cover:focus-visible{outline:none}.diary-front-cover:focus-visible .diary-cover-title{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:8px}.ceramic-mac{top:6%;height:84%;width:min(1500px,100%)}.room-ui{position:absolute;inset:0;z-index:5;pointer-events:none;color:#f4eee4;opacity:var(--caption-opacity,1);visibility:visible}.room-intro{position:absolute;top:15%;left:4vw;max-width:280px;text-shadow:0 2px 20px #111722}.room-intro h1{font-size:clamp(27px,3vw,46px);line-height:1.06;letter-spacing:-.035em;font-weight:500;margin:0 0 16px}.room-intro p{font-size:13px;max-width:190px;line-height:1.6;color:#c5c5d0}.room-nav{position:absolute;bottom:100px;left:50%;transform:translate(-50%);display:flex;gap:5px;pointer-events:var(--caption-events,auto);padding:6px;background:#141c27ed;border:1px solid #63718170;border-radius:32px;white-space:nowrap}.room-nav button{font:500 13px Bricolage Grotesque,sans-serif;color:#c7cbd4;background:transparent;border:0;border-radius:24px;padding:10px 16px;cursor:pointer;min-height:44px}.room-nav button:hover,.room-nav button[aria-pressed=true]{background:#34434e;color:#fff4de}.room-panel{position:absolute;right:4vw;top:25%;width:290px;pointer-events:auto;padding:24px;background:#141c27f5;border:1px solid #63718170;border-radius:16px;box-shadow:0 16px 40px #0004}.room-panel[hidden]{display:none}.room-panel h2{font-size:26px;line-height:1.15;letter-spacing:-.025em;margin:25px 0 14px;font-weight:500}.room-panel p{font-size:14px;line-height:1.7;color:#c4cbd5}.room-action{font:500 13px Bricolage Grotesque,sans-serif;cursor:pointer;color:#e5c9a7;border:0;background:none;padding:0;min-height:44px}.room-action{margin-top:18px;padding:9px 14px;border:1px solid #8b7965;border-radius:8px}.room-action[hidden]{display:none}.room-feedback{display:block;font-size:12px;color:#b8c8c3;margin-top:12px}.is-focused .room-intro{display:none}.opening-caption>p{display:none}.opening-caption{display:flex;justify-content:center;bottom:28px}.ctv-pill{font-size:17px!important}@media(max-width:700px){.ceramic-mac{top:13%;height:60%;width:100%}.room-intro{top:11%;left:24px}.room-intro h1{font-size:28px}.room-intro p{display:none}.room-nav{bottom:110px;width:calc(100% - 24px);justify-content:center;gap:0;padding:4px}.room-nav button{padding:8px 10px;font-size:12px}.room-panel{inset:auto 18px 178px;width:auto;padding:16px}.room-panel h2{font-size:23px;margin:10px 0}.room-panel p{font-size:13px}.room-action{margin-top:10px}.room-feedback{margin-top:4px}.room-ui.is-focused .room-panel{background:#141c27eb}}@media(prefers-reduced-motion:reduce){.room-ui{opacity:1}.room-intro{display:none}}@media(forced-colors:active){.room-ui{color:CanvasText}}.room-panel{top:115px;right:4vw;width:244px;padding:0;background:none;border:0;border-radius:0;box-shadow:none;text-shadow:0 2px 14px #111722}.room-panel h2{font-size:23px;margin:12px 0 10px}.room-panel p{font-size:13px;line-height:1.6}.room-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.room-action{margin:0;min-height:44px;background:#172130e8;border-color:#7c89955c;color:#f4eee4}.room-feedback{font-size:12px;line-height:1.6;color:#d4dce6;max-width:32ch}.room-nav{gap:0}.room-nav button{padding:10px 13px}.ctv-gl{touch-action:none}.room-ui.is-focused~.opening-caption{pointer-events:none}@media(max-width:700px){.room-nav{overflow-x:auto;justify-content:flex-start;scrollbar-width:none;max-width:calc(100% - 24px)}.room-nav button{padding:8px 10px;flex:none}.room-panel{inset:auto 20px 178px;width:auto;padding:12px 0;background:linear-gradient(0deg,#182130ee,transparent);text-shadow:0 2px 8px #111722}.room-panel h2{font-size:20px;margin:6px 0}.room-panel p{font-size:12px;max-width:40ch}.room-actions{margin-top:10px;gap:6px}.room-action{font-size:12px;padding:8px 12px}.room-feedback{max-width:100%;font-size:11px}.room-ui.is-focused .room-panel{background:linear-gradient(0deg,#182130f0,transparent)}}.room-ui.is-focused:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 65%,#111722d9 89%)}@media(max-width:700px){.room-ui.is-focused:before{background:linear-gradient(0deg,#111722d9 12%,transparent 56%)}.room-panel p,.room-feedback{color:#e1e6ec}}.ctv-gl{pointer-events:auto;touch-action:pan-y}.stage:has(.room-ui.is-focused) .ctv-gl{touch-action:none}@media(max-width:700px){.room-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible;border-radius:20px;bottom:105px}.room-nav button{padding:7px 8px;min-height:38px}.room-panel{bottom:200px}}.room-intro-accessible{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;pointer-events:none!important;padding:0!important;margin:-1px!important}.room-sound{position:absolute;bottom:106px;left:calc(50% + 240px);transform:none;min-height:44px;padding:8px 16px;border:1px solid #63718170;border-radius:24px;background:#141c27ed;color:#c7cbd4;font:500 12px Bricolage Grotesque,sans-serif;cursor:pointer;pointer-events:var(--caption-events,auto)}.room-sound:hover,.room-sound[aria-pressed=true]{color:#fff4de}.room-sound:focus-visible,.room-nav button:focus-visible{outline:2px solid #dfca9e;outline-offset:3px}@media(max-width:700px){.room-sound{bottom:109px;left:auto;right:16px;transform:none;width:calc((100% - 32px)/4);padding:7px 2px;min-height:44px;border:0;background:transparent;border-radius:16px}.room-nav button{min-height:44px}.room-panel{bottom:212px}}.room-nav,.room-sound{position:fixed!important;width:1px!important;height:1px!important;min-height:0!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;padding:0!important;margin:-1px!important;border:0!important}.room-nav{inset:16px 16px auto!important;transform:none!important}.room-sound{inset:auto 16px 16px auto!important;transform:none!important}.room-nav:has(button:focus-visible),.room-sound:focus-visible{width:auto!important;height:auto!important;min-height:44px!important;overflow:visible!important;clip-path:none!important;padding:6px!important;margin:0!important;z-index:20}.room-nav:has(button:focus-visible){max-height:calc(100dvh - 32px);overflow:auto!important}.opening-caption{display:none!important}.ceramic-mac{top:8%;height:92%}@media(max-width:700px){.ceramic-mac{top:10%;height:82%}.room-panel{bottom:28px}}.room-nav:has(button:focus-visible){display:flex!important;flex-wrap:wrap;white-space:normal!important;max-width:calc(100vw - 32px);background:#141c27;border:1px solid #637181!important;border-radius:20px}.room-sound:focus-visible{display:block!important;background:#141c27;border:1px solid #637181!important}@media(forced-colors:active){.room-nav:has(button:focus-visible),.room-sound:focus-visible{background:Canvas;color:CanvasText;border:1px solid ButtonText!important}}.destination-keyboard,.destination-status{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.destination-keyboard:focus-visible{position:fixed;z-index:100;top:1rem;left:50%;transform:translate(-50%);width:auto;height:auto;clip-path:none;padding:.8rem 1.2rem;border:1px solid #f3d6b8;border-radius:1rem;background:#302333;color:#fff5e5;outline:2px solid #9edce5}.destination-hold{position:fixed;z-index:110;transform:translate(-50%,-50%);width:50px;height:50px;pointer-events:none;color:#fff5e5;filter:drop-shadow(0 2px 8px #11132499)}.destination-hold[hidden]{display:none}.destination-hold svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);overflow:visible}.destination-hold:before{content:"";position:absolute;inset:3px;border-radius:50%;background:linear-gradient(145deg,#e3f4ff26,#171b2e24);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:inset 0 1px 1px #ffffff50}.destination-hold circle{fill:none;stroke-width:4}.destination-hold .hold-track{stroke:#fff5e536}.destination-hold .hold-fill{fill:none;stroke:#b7a5ff;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1}.destination-hold .hold-orbit{transform-origin:50% 50%;transform:rotate(-75deg)}.destination-hold .hold-orbit text{fill:currentColor;font:500 13px JetBrains Mono,ui-monospace,monospace;letter-spacing:0}.destination-hold.is-engaged .hold-orbit{visibility:hidden}@media(prefers-reduced-motion:reduce){.destination-hold .hold-orbit{animation:none;transform:rotate(-75deg)}}.destination-hold{transition:width .24s cubic-bezier(.4,0,.2,1),height .24s cubic-bezier(.4,0,.2,1)}.destination-hold svg{transition:opacity .12s ease-out}.destination-hold:before{transition:inset .24s ease-out,background .24s ease-out,box-shadow .24s ease-out}.destination-hold.is-engaged{width:7px;height:7px}.destination-hold.is-engaged svg{opacity:0}.destination-hold.is-engaged:before{inset:0;background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 0 7px #ffffffb3,0 0 17px #d9efff66}@media(prefers-reduced-motion:reduce){.destination-hold,.destination-hold svg,.destination-hold:before{transition:none}}@media(forced-colors:active){.destination-hold{display:none}}@media(any-hover:hover)and (any-pointer:fine){.destination-hold{display:none}}.room-book-credit{display:block;margin-top:12px;color:inherit;font-size:11px;text-underline-offset:3px}.room-action[aria-pressed=true]{border-color:#c8f4ff;color:#fff}.room-book-credit:focus-visible{outline:2px solid #c8f4ff;outline-offset:4px}.destination-hold:after{content:"";position:absolute;inset:-10px;border:12px solid #25293061;border-radius:50%;box-shadow:inset 0 1px #ffffff26,0 1px 5px #080b1240;z-index:-1}.destination-hold.is-engaged:after{display:none}.room-actions a.room-action{display:inline-flex;align-items:center;text-decoration:none}.room-panel:has(a[href="/resume/index.html"]){width:250px}.room-ui.is-diary-focused:before{display:none}.signature-logo{position:absolute;top:max(22px,env(safe-area-inset-top));left:max(30px,env(safe-area-inset-left));z-index:12;display:inline-flex;align-items:center;width:82px;min-height:44px;padding:0;text-decoration:none;pointer-events:auto}.signature-logo svg{display:block;width:100%;height:auto;overflow:visible}.signature-logo:focus-visible{outline:2px solid #dfca9e;outline-offset:5px;border-radius:3px}.signature-logo.is-boot-signature{position:fixed;z-index:101;transform-origin:center;pointer-events:none}.signature-word-trace{stroke-dasharray:1;stroke-dashoffset:1}.signature-word-ink{visibility:hidden}.signature-logo.is-written .signature-word-ink{visibility:visible}.signature-logo.is-written .signature-word-trace{animation:signature-word-write 1.65s linear both}.signature-dot{opacity:0}.signature-logo.is-written .signature-dot{animation:signature-dot-write .1s ease-out both;animation-delay:calc(1.65s + var(--dot)*.12s)}@keyframes signature-word-write{to{stroke-dashoffset:0}}@keyframes signature-dot-write{to{opacity:1}}.signature-logo.is-ink-complete .signature-word-ink,.signature-logo.is-settled .signature-word-ink{visibility:visible;-webkit-mask:none;mask:none}.signature-logo.is-ink-complete .signature-word-trace,.signature-logo.is-settled .signature-word-trace{animation:none;stroke-dashoffset:0}@media(max-width:700px){.signature-logo{top:max(14px,env(safe-area-inset-top));left:max(18px,env(safe-area-inset-left));width:72px}}@media(prefers-reduced-motion:reduce){.signature-logo.is-written .signature-word-trace{animation:none;stroke-dashoffset:0}.signature-logo.is-written .signature-dot{animation:none;opacity:1}}.signature-logo.is-mac-view .signature-word-ink{fill:#fff}.signature-logo.is-boot-signature{will-change:transform;backface-visibility:hidden}
