@font-face{font-family:Archivo;src:url(/fonts/archivo-latin.woff2) format("woff2");font-style:normal;font-weight:100 900;font-display:swap}@font-face{font-family:League Gothic;src:url(/fonts/league-gothic-latin.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap}:root{color-scheme:light;font-family:archivo,archivo Fallback,Archivo,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--cardinal: #bf3e16;--ink: #15120f;--bone: #eee6d6;--paper: #eee6d6;--paper-deep: #e3d9c5;--paper-raised: #f6f0e4;--paper-ink: #15120f;--paper-ink-2: #3a332b;--paper-ink-3: #5e554a;--paper-accent: #b23a12;--ochre-lit: #e3a84b;--border: color-mix(in srgb, var(--paper-ink) 22%, transparent);--border-subtle: color-mix(in srgb, var(--paper-ink) 12%, transparent);--chat-body-background: #191612;--chat-body-text: var(--bone);--chat-body-muted: #a99e8f;--chat-outline: #47433d;--chat-input-outline: #504b43;--chat-header-text: var(--bone);--chat-header-background: #8e371d;--chat-avatar: var(--cardinal);--chat-user-bubble: #0d0b09;--chat-input-background: #24201a;--chat-input-text: var(--bone);--chat-footer-background: var(--chat-body-background);--chat-footer-border: var(--chat-body-text);--chat-footer-muted: var(--chat-body-muted)}*{box-sizing:border-box}html,body{width:100%;min-width:320px;min-height:100%;margin:0}body.portfolio-page{height:100vh;height:100dvh;overflow:hidden;color:var(--paper-ink);background:var(--paper);font-family:archivo,archivo Fallback,Archivo,system-ui,sans-serif;font-size:16px;font-weight:400}body.portfolio-page button,body.portfolio-page textarea{font:inherit}body.portfolio-page button{color:inherit}body.portfolio-page a{color:inherit;text-decoration:none}body.portfolio-page button:focus-visible,body.portfolio-page a:focus-visible,body.portfolio-page textarea:focus-visible{outline:2px solid var(--ochre-lit);outline-offset:3px}body.portfolio-page [hidden]{display:none!important}body.portfolio-page .portfolio-nav{position:relative;z-index:3;height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 24px;color:#f3ecdf;background-color:var(--ink)}body.portfolio-page .portfolio-nav-name{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#f3ecdf;font-family:League Gothic,Arial Narrow,sans-serif;font-size:28px;line-height:1;text-transform:uppercase;white-space:nowrap}body.portfolio-page .portfolio-nav-name span{margin-left:10px;color:var(--ochre-lit);font-family:archivo,Archivo,sans-serif;font-size:11px;font-weight:700;letter-spacing:.16em;vertical-align:3px}body.portfolio-page .portfolio-nav-actions{display:flex;align-items:center;gap:8px;margin-left:auto}body.portfolio-page .portfolio-linkedin{width:40px;height:40px;display:grid;flex:0 0 auto;place-items:center;border:1px solid #62584b;color:#f3ecdf;background:transparent;clip-path:polygon(.8% 4%,100% 0,99.2% 100%,0 95%);transition:color .15s ease,background-color .15s ease}body.portfolio-page .portfolio-linkedin:hover{color:#fffaf0;background:#8e371d}body.portfolio-page .portfolio-linkedin svg{display:block}body.portfolio-page .portfolio-back{display:inline-flex;min-height:40px;align-items:center;gap:8px;color:color-mix(in srgb,#f3ecdf 82%,var(--ink));font-size:12.48px;font-weight:650;font-stretch:72%;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}body.portfolio-page .portfolio-back svg{width:15px;height:15px}body.portfolio-page .portfolio-back:hover{color:#f3ecdf}body.portfolio-page .portfolio-download{display:inline-flex;height:40px;align-items:center;justify-content:center;gap:10px;padding:0 16px;border:0;color:#fbf6ec;background:var(--cardinal);clip-path:polygon(.8% 4%,100% 0,99.2% 100%,0 95%);cursor:pointer;font-size:12.16px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;transition:background-color .15s cubic-bezier(.16,1,.3,1);white-space:nowrap}body.portfolio-page .portfolio-download:hover{background:#9e3110}body.portfolio-page .portfolio-download svg{flex:0 0 14px}body.portfolio-page .portfolio-mobile-tabs{display:none}body.portfolio-page .portfolio-layout{width:100%;height:calc(100dvh - 64px);display:grid;grid-template-columns:58% 42%;overflow:hidden}body.portfolio-page .portfolio-document-panel{min-width:0;min-height:0;display:flex;overflow:clip;padding:20px 20px 20px 30px;background:#0d0b09}body.portfolio-page .portfolio-left-canvas{flex:1 1 auto;min-width:0;min-height:0;overflow:hidden}body.portfolio-page .portfolio-gallery{width:min(100%,900px);height:100%;margin:0 auto;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#51483d transparent;scrollbar-width:thin}body.portfolio-page .portfolio-gallery-heading{position:sticky;z-index:20;top:-20px;isolation:isolate;display:grid;grid-template-columns:1fr auto;align-items:end;gap:3px 16px;margin:0;padding:clamp(24px,3vw,40px) clamp(14px,2.2vw,32px) 16px;background:#0d0b09;box-shadow:0 14px 22px #0d0b09b8}body.portfolio-page .portfolio-gallery-back{justify-self:start;display:inline-flex;align-items:center;gap:6px;margin:0 0 6px;padding:0;border:0;color:#c8bdad;background:transparent;font:inherit;font-size:9px;font-weight:700;letter-spacing:.12em;cursor:pointer}body.portfolio-page .portfolio-gallery-back:hover{color:var(--ochre-lit)}body.portfolio-page .portfolio-gallery-back:focus-visible{outline:2px solid var(--ochre-lit);outline-offset:4px}body.portfolio-page .portfolio-gallery-heading p{grid-column:1 / -1;margin:0;color:var(--ochre-lit);font-size:9px;font-weight:700;letter-spacing:.18em}body.portfolio-page .portfolio-gallery-heading h2{max-width:720px;margin:0;color:var(--bone);font-family:League Gothic,Arial Narrow,sans-serif;font-size:clamp(23px,2.4vw,34px);font-weight:400;line-height:1.02;text-transform:none}body.portfolio-page .portfolio-gallery-heading>span{padding-bottom:3px;color:#a99e8f;font-size:9px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}body.portfolio-page .portfolio-gallery-summary{grid-column:1 / -1;max-width:740px;margin:7px 0 0!important;color:#c8bdad!important;font-size:11px!important;font-weight:400!important;letter-spacing:0!important;line-height:1.55}body.portfolio-page .sensorops-story{position:relative;padding:24px 12px 72px 46px}body.portfolio-page .sensorops-story-rail{position:absolute;top:33px;bottom:92px;left:14px;width:1px;overflow:hidden;background:#484138}body.portfolio-page .sensorops-story-progress{display:block;width:100%;height:100%;background:var(--ochre-lit);transform:scaleY(1);transform-origin:top}body.portfolio-page .sensorops-story-step{position:relative;margin:0 0 clamp(64px,9vh,112px)}body.portfolio-page .sensorops-story-step:last-child{margin-bottom:0}body.portfolio-page .sensorops-story-kicker{display:flex;align-items:center;gap:9px;margin:0 0 10px;color:var(--ochre-lit);font-size:9px;font-weight:700;letter-spacing:.16em}body.portfolio-page .sensorops-story-kicker span{position:absolute;left:-46px;display:grid;width:29px;height:29px;place-items:center;border:1px solid var(--ochre-lit);border-radius:50%;color:var(--bone);background:#0d0b09;font-size:9px;letter-spacing:0}body.portfolio-page .sensorops-story-copy h3{margin:0;color:var(--bone);font-family:League Gothic,Arial Narrow,sans-serif;font-size:clamp(24px,3vw,38px);font-weight:400;line-height:1}body.portfolio-page .sensorops-story-copy>p:last-child{max-width:620px;margin:10px 0 17px;color:#c8bdad;font-size:12px;line-height:1.65}body.portfolio-page .sensorops-story-media{position:relative;margin:0;overflow:hidden;border:1px solid #484138;background:#15120f}body.portfolio-page .sensorops-story-media img,body.portfolio-page .sensorops-story-media video{display:block;width:100%;aspect-ratio:16 / 10;object-fit:cover}body.portfolio-page .sensorops-story-media:not(.sensorops-story-media-video) img{height:clamp(180px,24vw,280px);aspect-ratio:auto}body.portfolio-page .sensorops-story-media-cloud img{object-fit:contain}body.portfolio-page .sensorops-story-media-smear img{filter:saturate(.82) contrast(1.08)}body.portfolio-page .sensorops-story-media-corrupt img{filter:saturate(.94) contrast(1.08)}body.portfolio-page .sensorops-story-media-video video{background:#090807}body.portfolio-page .sensorops-story-media figcaption{padding:9px 11px;color:#a99e8f;font-size:8px;font-weight:700;letter-spacing:.14em}body.portfolio-page .portfolio-paper{width:100%;height:100%;min-height:0;overflow-y:auto;padding:0 clamp(18px,3vw,50px) 30px 0;color:var(--bone);background:transparent;scrollbar-color:#51483d transparent;scrollbar-width:thin}body.portfolio-page .portfolio-profile-card{max-width:850px;margin:0 auto;padding:clamp(16px,2vw,28px);background:#17130f}body.portfolio-page .portfolio-profile-heading{display:flex;align-items:center;gap:clamp(16px,2vw,28px)}body.portfolio-page .portfolio-profile-photo{width:clamp(70px,7vw,92px);height:clamp(84px,8.5vw,108px);display:block;flex:0 0 auto;clip-path:polygon(1% 1%,100% 0,99% 100%,0 97%);filter:grayscale(1);object-fit:cover;object-position:center 32%}body.portfolio-page .portfolio-profile-kicker{margin:0 0 8px;color:var(--ochre-lit);font-size:10px;font-weight:700;letter-spacing:.16em}body.portfolio-page .portfolio-profile-heading h1{margin:0;color:var(--bone);font-family:League Gothic,Arial Narrow,sans-serif;font-size:clamp(38px,4.2vw,54px);font-weight:400;line-height:.86;text-transform:uppercase}body.portfolio-page .portfolio-profile-summary{margin:12px 0 14px;color:#c8bdad;font-size:13px;line-height:1.5}body.portfolio-page .portfolio-profile-facts{margin:0}body.portfolio-page .portfolio-profile-facts div{display:grid;grid-template-columns:minmax(112px,24%) minmax(0,1fr);gap:16px;padding:6px 0;border-top:1px solid #403a32}body.portfolio-page .portfolio-profile-facts div:last-child{border-bottom:1px solid #403a32}body.portfolio-page .portfolio-profile-facts dt,body.portfolio-page .portfolio-profile-facts dd{margin:0}body.portfolio-page .portfolio-profile-facts dt{color:#a99e8f;font-size:9px;font-weight:700;letter-spacing:.15em}body.portfolio-page .portfolio-profile-facts dd{color:var(--bone);font-size:13px;line-height:1.45}body.portfolio-page .portfolio-stack,body.portfolio-page .portfolio-experience{max-width:850px;margin:0 auto;padding:28px 10px 0}body.portfolio-page .portfolio-section-heading{padding-bottom:13px;border-bottom:1px solid #d6cbb9}body.portfolio-page .portfolio-section-heading p{margin:0 0 4px;color:var(--ochre-lit);font-size:9px;font-weight:700;letter-spacing:.17em}body.portfolio-page .portfolio-section-heading h2{margin:0;color:var(--bone);font-family:League Gothic,Arial Narrow,sans-serif;font-size:clamp(28px,3.3vw,39px);font-weight:400;line-height:1;text-transform:uppercase}body.portfolio-page .portfolio-stack-grid{columns:3;column-gap:24px;margin:0;padding:18px 10px 8px;list-style:none}body.portfolio-page .portfolio-stack-grid li{min-width:0;display:flex;align-items:baseline;gap:12px;break-inside:avoid;padding-bottom:12px}body.portfolio-page .portfolio-stack-grid span{width:76px;flex:0 0 76px;padding-top:4px;color:#a99e8f;font-size:8px;font-weight:700;letter-spacing:.09em;text-align:right}body.portfolio-page .portfolio-stack-grid strong{min-width:0;color:var(--bone);font-family:League Gothic,Arial Narrow,sans-serif;font-size:clamp(18px,2.3vw,26px);font-weight:400;line-height:1.14;text-transform:uppercase;overflow-wrap:anywhere}body.portfolio-page .portfolio-experience-card{padding:20px 0;border-bottom:1px solid #403a32}body.portfolio-page .portfolio-experience-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 14px;color:#a99e8f;font-size:8px;font-weight:700;letter-spacing:.11em}body.portfolio-page .portfolio-experience-card h3,.portfolio-past-work h3{margin:7px 0;color:var(--bone);font-family:League Gothic,Arial Narrow,sans-serif;font-size:27px;font-weight:400;line-height:1;text-transform:uppercase}body.portfolio-page .portfolio-experience-card h3 a{color:#78b7ff;text-decoration:underline;text-decoration-color:currentColor;text-underline-offset:3px}body.portfolio-page .portfolio-experience-card h3 a:hover{color:#a5d0ff}body.portfolio-page .portfolio-experience-card h3 a:focus-visible{outline:2px solid currentColor;outline-offset:3px}body.portfolio-page .portfolio-experience-card p,.portfolio-past-work p{margin:7px 0 0;color:#c8bdad;font-size:12px;line-height:1.6}body.portfolio-page .portfolio-experience-bullets{margin:9px 0 0;padding-left:17px;color:#c8bdad;font-size:12px;line-height:1.6}body.portfolio-page .portfolio-experience-bullets li{padding-left:2px}body.portfolio-page .portfolio-military-flag{display:inline-block;width:21px;height:14px;margin:0 4px;color:#c8bdad;vertical-align:-2px}body.portfolio-page .portfolio-military-badge{display:inline-block;width:16px;height:16px;margin-left:2px;color:var(--ochre-lit);vertical-align:-3px}body.portfolio-page .portfolio-experience-bullets li+li{margin-top:8px}body.portfolio-page .portfolio-video-debug-item{position:relative;padding-top:34px}body.portfolio-page .portfolio-cloud-debug-item{padding-top:0}body.portfolio-page #cloud-debug-cue{top:-30px}body.portfolio-page .portfolio-video-debug-link{display:inline;padding:0;border:0;color:inherit;background:transparent;font:inherit;line-height:inherit;text-align:left;cursor:pointer}body.portfolio-page .portfolio-video-debug-link:hover{color:var(--bone);text-decoration:underline;text-decoration-color:var(--ochre-lit);text-underline-offset:3px}body.portfolio-page .portfolio-video-debug-link:focus-visible{outline:2px solid var(--ochre-lit);outline-offset:3px}body.portfolio-page .portfolio-video-debug-cue:not([hidden]){position:absolute;top:0;right:0;display:flex;flex-direction:column;align-items:flex-end;padding:0;border:0;color:var(--ochre-lit);background:transparent;font:inherit;font-size:9px;font-weight:700;letter-spacing:.04em;text-align:right;cursor:pointer;animation:portfolio-video-cue-enter .45s ease-out both}body.portfolio-page .portfolio-video-debug-cue:hover{color:var(--bone)}body.portfolio-page .portfolio-video-debug-cue:focus-visible{outline:2px solid var(--ochre-lit);outline-offset:3px}body.portfolio-page .portfolio-video-debug-cue svg{width:28px;height:22px;margin-right:38px;overflow:visible;animation:portfolio-video-cue-point .8s ease-in-out infinite alternate}body.portfolio-page .portfolio-video-debug-cue svg path{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}@keyframes portfolio-video-cue-enter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes portfolio-video-cue-point{0%{transform:translateY(-1px)}to{transform:translateY(3px)}}@media(prefers-reduced-motion:reduce){body.portfolio-page .portfolio-video-debug-cue:not([hidden]),body.portfolio-page .portfolio-video-debug-cue svg{animation:none}}body.portfolio-page .portfolio-past-work{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:18px 0}body.portfolio-page .portfolio-past-work article>span{color:#a99e8f;font-size:8px;font-weight:700;letter-spacing:.09em}body.portfolio-page .portfolio-past-work h3{font-size:22px}body.portfolio-page .portfolio-profile-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 12px;margin:10px auto 0;padding:15px 10px 0;border-top:1px solid #403a32;color:#a99e8f;font-size:8px;font-weight:700;letter-spacing:.12em}body.portfolio-page .portfolio-chat{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;color:var(--chat-body-text);background:var(--chat-body-background);font-family:archivo,archivo Fallback,Archivo,system-ui,sans-serif}body.portfolio-page .portfolio-chat-header{min-height:87px;display:flex;flex:0 0 auto;align-items:center;gap:12px;padding:16px 20px;color:var(--chat-header-text);background:var(--chat-header-background)}body.portfolio-page .portfolio-avatar,body.portfolio-page .portfolio-transcript .message-avatar{display:block;flex:0 0 auto;place-items:center;overflow:hidden;object-fit:contain;image-rendering:pixelated;padding:0;color:var(--chat-header-text);background-color:var(--ink);clip-path:polygon(.6% 1.4%,99.4% 0,100% 97.8%,0 100%);font-family:League Gothic,Arial Narrow,sans-serif;font-size:20px;line-height:1;text-transform:uppercase}body.portfolio-page .portfolio-avatar{width:64px;height:64px}body.portfolio-page .portfolio-transcript .message-avatar{background-color:var(--chat-avatar)}body.portfolio-page .portfolio-mascot-sprite{background-color:transparent;background-image:url(/8_bit_marketing_bryan/retro_emotion_sheet.png);background-position:0 0;background-repeat:no-repeat;background-size:300% 100%;image-rendering:pixelated}body.portfolio-page .portfolio-mascot-idle{animation:portfolio-mascot-idle-face 3s steps(1,end) infinite,portfolio-mascot-idle-bob 1.2s steps(2,end) infinite}body.portfolio-page .portfolio-mascot-listening{background-position:50% 0}body.portfolio-page .portfolio-mascot-thinking{background-position:50% 0;animation:portfolio-mascot-idle-bob .8s steps(2,end) infinite}body.portfolio-page .portfolio-mascot-speaking{animation:portfolio-mascot-speaking-face .36s steps(1,end) infinite,portfolio-mascot-idle-bob .36s steps(2,end) infinite}body.portfolio-page .portfolio-mascot-happy{background-position:0 0}body.portfolio-page .portfolio-mascot-sad{background-position:100% 0}@keyframes portfolio-mascot-idle-face{0%,74%,to{background-position:0 0}86%{background-position:50% 0}}@keyframes portfolio-mascot-idle-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-1px)}}@keyframes portfolio-mascot-speaking-face{0%,49%{background-position:0 0}50%,to{background-position:50% 0}}@media(prefers-reduced-motion:reduce){body.portfolio-page .portfolio-mascot-idle,body.portfolio-page .portfolio-mascot-thinking,body.portfolio-page .portfolio-mascot-speaking{animation:none}}body.portfolio-page .portfolio-chat-title{display:grid;gap:4px}body.portfolio-page .portfolio-chat-kicker{color:var(--chat-header-text);font-family:League Gothic,Arial Narrow,sans-serif;font-size:30.4px;font-weight:400;line-height:1;text-transform:uppercase}body.portfolio-page .portfolio-chat-subtitle{color:var(--chat-header-text);font-size:14px;line-height:1.3}body.portfolio-page .portfolio-chat-body{min-height:0;display:flex;flex:1 1 auto;flex-direction:column;overflow-y:auto;padding:20px;background:var(--chat-body-background)}body.portfolio-page .portfolio-try-label{margin:0;color:var(--chat-body-muted);font-size:12.48px;font-weight:650;font-stretch:72%;letter-spacing:.14em;line-height:1.2;text-transform:uppercase}body.portfolio-page .portfolio-suggestions{margin:10px 0 0;padding:0}body.portfolio-page .portfolio-suggestions .suggestion-list{display:flex;flex-wrap:wrap;gap:8px}body.portfolio-page .portfolio-suggestions .suggestion-chip{min-height:37px;padding:8px 12px;border:0;box-shadow:inset 0 0 0 1.5px var(--chat-outline);color:var(--chat-body-text);background:transparent;text-align:left;font-size:14px;font-weight:400;line-height:1.35;cursor:pointer;transition:color .15s ease,background-color .15s ease,box-shadow .15s ease}body.portfolio-page .portfolio-suggestions .suggestion-chip:hover:not(:disabled){color:var(--bone);background:var(--ink);box-shadow:none}body.portfolio-page .portfolio-suggestions .suggestion-chip:disabled{opacity:.5;cursor:not-allowed}body.portfolio-page .portfolio-transcript{min-height:0;max-height:none;flex:1 0 auto;overflow:visible;padding:0;scroll-behavior:smooth}body.portfolio-page .portfolio-transcript .message-row{display:flex;align-items:flex-start;gap:10px;margin:16px 0 0}body.portfolio-page .portfolio-transcript .message-avatar{width:40px;height:40px;margin-top:2px;font-size:15px}body.portfolio-page .portfolio-transcript .message-content{min-width:0;max-width:82%;flex:1 1 auto;padding-top:4px}body.portfolio-page .portfolio-transcript .message-row.user{justify-content:flex-end}body.portfolio-page .portfolio-transcript .message-row.user .message-content{max-width:82%;flex:0 1 auto}body.portfolio-page .portfolio-transcript .message-author{display:none}body.portfolio-page .portfolio-transcript .message-bubble{padding:0;border:0;border-radius:0;color:var(--chat-body-text);background:transparent;font-size:15px;line-height:1.65;white-space:pre-line}body.portfolio-page .portfolio-transcript .message-bubble a,body.portfolio-page .portfolio-transcript .message-bubble a:visited{color:#78b7ff;text-decoration:underline;text-decoration-color:currentColor;text-underline-offset:3px}body.portfolio-page .portfolio-transcript .message-bubble a:hover{color:#a5d0ff}body.portfolio-page .portfolio-transcript .message-bubble a:focus-visible{outline:2px solid #78b7ff;outline-offset:3px}body.portfolio-page .portfolio-transcript .typing-bubble{display:flex;align-items:center;gap:8px;color:var(--chat-body-muted)}body.portfolio-page .portfolio-transcript .typing-dots{display:inline-flex;align-items:center;gap:3px}body.portfolio-page .portfolio-transcript .typing-dots i{width:4px;height:4px;border-radius:50%;background:currentColor;animation:portfolio-thinking 1s ease-in-out infinite}body.portfolio-page .portfolio-transcript .typing-dots i:nth-child(2){animation-delay:.15s}body.portfolio-page .portfolio-transcript .typing-dots i:nth-child(3){animation-delay:.3s}@keyframes portfolio-thinking{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}body.portfolio-page .portfolio-transcript .message-row.user .message-bubble{width:fit-content;max-width:100%;margin-left:auto;padding:9px 12px;color:var(--chat-body-text);background:var(--chat-user-bubble)}body.portfolio-page .portfolio-transcript .error-message{margin:12px 0 0 42px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--cardinal) 55%,transparent);border-radius:0;color:#ffd2c8;background:color-mix(in srgb,var(--cardinal) 22%,var(--chat-body-background));font-size:12px}body.portfolio-page .portfolio-transcript .error-message button{border:0;color:inherit;background:transparent;font-size:18px;cursor:pointer}body.portfolio-page .portfolio-composer-area{flex:0 0 auto;padding:12px 16px;border-top:2px solid var(--chat-footer-border);background:var(--chat-footer-background)}body.portfolio-page .portfolio-composer-area .composer{display:flex;align-items:center;gap:8px;min-height:52px;margin:0;padding:6px 6px 6px 16px;border:0;border-radius:0;background:var(--chat-input-background);box-shadow:inset 0 0 0 1.5px var(--chat-input-outline);transition:box-shadow .15s ease}body.portfolio-page .portfolio-composer-area .composer:focus-within{box-shadow:inset 0 0 0 2.5px var(--chat-body-text)}body.portfolio-page .portfolio-composer-area .composer textarea{width:100%;min-width:0;height:40px;min-height:40px;max-height:90px;resize:none;padding:10px 0 0;border:0;outline:0;color:var(--chat-input-text);background:transparent;font-family:archivo,archivo Fallback,Archivo,system-ui,sans-serif;font-size:15px;font-weight:400;line-height:20px}body.portfolio-page .portfolio-composer-area .composer textarea::placeholder{color:var(--chat-body-muted);opacity:1}body.portfolio-page .portfolio-composer-area .send-button{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;padding:0;border:0;border-radius:0;color:#fbf6ec;background:var(--cardinal);cursor:pointer;transition:background-color .15s ease,opacity .15s ease}body.portfolio-page .portfolio-composer-area .send-button:hover:not(:disabled){background:var(--paper-accent)}body.portfolio-page .portfolio-composer-area .send-button:disabled{opacity:.3;cursor:not-allowed}body.portfolio-page .portfolio-composer-area .send-button svg{width:16px;height:16px}body.portfolio-page .portfolio-composer-area .send-spinner{width:15px;height:15px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:portfolio-spin .7s linear infinite}@keyframes portfolio-spin{to{transform:rotate(360deg)}}body.portfolio-page .portfolio-composer-area .composer-footer{display:none}body.portfolio-page .portfolio-disclosure{margin:8px 0 0;color:var(--chat-footer-muted);text-align:center;font-size:12px;line-height:16px}body.portfolio-page .diagnostics{position:fixed;z-index:10;right:18px;bottom:14px;width:min(440px,calc(100vw - 28px));border:1px solid color-mix(in srgb,var(--cardinal) 35%,transparent);border-radius:0;color:var(--ink);background:#fffaf1fa;box-shadow:0 10px 35px #32261738;font:11px Archivo,Arial,sans-serif}body.portfolio-page .diagnostics[hidden],body.portfolio-page .diagnostics-details[hidden]{display:none}body.portfolio-page .diagnostics-toggle{width:100%;min-height:42px;display:flex;align-items:center;gap:9px;padding:0 12px;border:0;color:#4c4237;background:transparent;text-align:left;font:inherit;cursor:pointer}body.portfolio-page .diagnostics-indicator{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:#63823b}body.portfolio-page .diagnostics.has-errors{border-color:#ff5c488c}body.portfolio-page .diagnostics.has-errors .diagnostics-indicator{background:#d5422e}body.portfolio-page .diagnostics-summary{margin-left:auto;color:#81796d}body.portfolio-page .diagnostics-count{min-width:20px;padding:3px 6px;color:#71695f;background:#2b211414;text-align:center}body.portfolio-page .diagnostics-chevron{color:#81796d}body.portfolio-page .diagnostics-details{max-height:220px;overflow-y:auto;padding:0 12px 11px;border-top:1px solid rgba(100,84,62,.18)}body.portfolio-page .diagnostics-details-heading{display:flex;justify-content:space-between;align-items:center;padding:10px 0 6px;color:#6f6558}body.portfolio-page .diagnostics-details-heading button{padding:3px 7px;border:1px solid #d5c9b7;color:#51483d;background:transparent;font:inherit;cursor:pointer}body.portfolio-page .diagnostics-list{display:grid;gap:7px;margin:0;padding:0;list-style:none}body.portfolio-page .diagnostics-list li{padding:8px;border-left:2px solid #d5422e;color:#7c281c;background:#d5422e12;line-height:1.5;overflow-wrap:anywhere}body.portfolio-page .diagnostics-list time{display:block;margin-bottom:3px;color:#8c8499;font-size:9px}body.portfolio-page .diagnostics-list .diagnostic-kind{margin-right:5px;color:#ae3928;text-transform:uppercase}body.portfolio-page .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}body.dashboard-page{min-height:100vh;color:var(--paper-ink);background:var(--paper);font-family:archivo,archivo Fallback,Archivo,system-ui,sans-serif}body.dashboard-page button,body.dashboard-page input{font:inherit}body.dashboard-page [hidden]{display:none!important}body.dashboard-page .dashboard-header{min-height:96px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:16px clamp(20px,4vw,64px);color:#f3ecdf;background:var(--ink)}body.dashboard-page .dashboard-header>div{text-align:center}body.dashboard-page .dashboard-header h1{margin:4px 0 0;font-family:League Gothic,Arial Narrow,sans-serif;font-size:32px;font-weight:400;line-height:1;text-transform:uppercase}body.dashboard-page .dashboard-eyebrow{margin:0;color:var(--paper-accent);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}body.dashboard-page .dashboard-header .dashboard-eyebrow{color:var(--ochre-lit)}body.dashboard-page .dashboard-back{width:fit-content;display:inline-flex;align-items:center;gap:8px;color:inherit;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}body.dashboard-page .dashboard-back:hover{color:var(--ochre-lit)}body.dashboard-page .dashboard-logout,body.dashboard-page .dashboard-login-card button,body.dashboard-page .dashboard-more{min-height:42px;padding:0 16px;border:0;color:#fbf6ec;background:var(--cardinal);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}body.dashboard-page .dashboard-logout{justify-self:end}body.dashboard-page .dashboard-logout:hover,body.dashboard-page .dashboard-login-card button:hover:not(:disabled),body.dashboard-page .dashboard-more:hover:not(:disabled){background:#9e3110}body.dashboard-page .dashboard-main{padding:34px clamp(16px,3vw,48px) 56px}body.dashboard-page .dashboard-toolbar{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:19px}body.dashboard-page .dashboard-toolbar h2{margin:7px 0 0;font-size:clamp(21px,3vw,30px);font-weight:550;letter-spacing:-.04em}body.dashboard-page .dashboard-total{padding-bottom:4px;color:var(--paper-ink-3);font-size:12px;font-weight:650}body.dashboard-page .dashboard-controls{display:grid;grid-template-columns:minmax(240px,1fr) auto;align-items:end;gap:10px 18px;margin-bottom:14px}body.dashboard-page .dashboard-search-box{display:grid;gap:6px;color:var(--paper-ink-3);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}body.dashboard-page .dashboard-search-box input{width:100%;min-height:43px;padding:9px 12px;border:1px solid var(--border);border-radius:0;color:var(--paper-ink);background:var(--paper-raised);font-size:13px;letter-spacing:normal;text-transform:none}body.dashboard-page .dashboard-search-box input:focus-visible{outline:2px solid var(--cardinal);outline-offset:2px}body.dashboard-page .dashboard-control-buttons{display:flex;flex-wrap:wrap;gap:8px}body.dashboard-page .dashboard-control-button{min-height:43px;padding:0 13px;border:1px solid var(--border);color:var(--paper-ink);background:var(--paper-raised);font-size:10px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}body.dashboard-page .dashboard-control-button:hover:not(:disabled){border-color:var(--paper-ink-2);background:#eee3d1}body.dashboard-page .dashboard-control-button:disabled{opacity:.45;cursor:not-allowed}body.dashboard-page .dashboard-delete-button{border-color:var(--cardinal);color:#fff8ee;background:var(--cardinal)}body.dashboard-page .dashboard-delete-button:hover:not(:disabled){border-color:#9e3110;color:#fff8ee;background:#9e3110}body.dashboard-page .dashboard-selection-count{grid-column:1 / -1;min-height:15px;color:var(--paper-ink-3);font-size:11px}body.dashboard-page .dashboard-success{margin:0 0 12px;color:#416746;font-size:12px}body.dashboard-page .dashboard-table-region{width:100%;min-height:160px;border:1px solid var(--border);background:var(--paper-raised)}body.dashboard-page .dashboard-table-scroll{width:100%;overflow:auto;max-height:calc(100vh - 290px)}body.dashboard-page .dashboard-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;color:var(--paper-ink);font-size:12px}body.dashboard-page .dashboard-table th,body.dashboard-page .dashboard-table td{max-width:380px;padding:11px 13px;border-right:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);text-align:left;vertical-align:top;overflow-wrap:anywhere}body.dashboard-page .dashboard-table th{position:sticky;z-index:2;top:0;color:#fbf6ec;background:#29231c;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}body.dashboard-page .dashboard-table th:first-child,body.dashboard-page .dashboard-table td:first-child{position:sticky;z-index:1;left:0;background:#e9dfcd}body.dashboard-page .dashboard-table th:first-child{z-index:3;background:#29231c}body.dashboard-page .dashboard-table tbody tr:nth-child(2n) td{background-color:#f2ebde}body.dashboard-page .dashboard-table tbody tr:hover td{background-color:#e9dcc5}body.dashboard-page .dashboard-table tbody tr.dashboard-selected td,body.dashboard-page .dashboard-table tbody tr.dashboard-selected:hover td{background-color:#e6c8a5}body.dashboard-page .dashboard-table tbody tr:focus-visible{outline:2px solid var(--cardinal);outline-offset:-2px}body.dashboard-page .dashboard-select-cell{min-width:42px;text-align:center!important}body.dashboard-page .dashboard-select-cell input{width:16px;height:16px;accent-color:var(--cardinal);cursor:pointer}body.dashboard-page .dashboard-table td.dashboard-long-cell{min-width:250px;max-width:380px;white-space:pre-wrap}body.dashboard-page .dashboard-table td[data-key=question],body.dashboard-page .dashboard-table td[data-key=llm_response]{min-width:300px}body.dashboard-page .dashboard-loading,body.dashboard-page .dashboard-empty{padding:28px;color:var(--paper-ink-3)}body.dashboard-page .dashboard-empty{margin:0 0 14px;border:1px dashed var(--border)}body.dashboard-page .dashboard-note{color:var(--paper-ink-3);font-size:12px;line-height:1.5}body.dashboard-page .dashboard-more{display:block;margin:18px auto}body.dashboard-page .dashboard-error,body.dashboard-page .dashboard-message{color:#a3331b;font-size:13px;line-height:1.5}body.dashboard-page .dashboard-delete-dialog{width:min(460px,calc(100vw - 32px));padding:0;border:1px solid var(--border);color:var(--paper-ink);background:var(--paper-raised);box-shadow:12px 12px #1b16112e}body.dashboard-page .dashboard-delete-dialog::backdrop{background:#1b161194;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}body.dashboard-page .dashboard-dialog-content{padding:28px}body.dashboard-page .dashboard-dialog-content h2{margin:8px 0 18px;font-family:League Gothic,Arial Narrow,sans-serif;font-size:32px;font-weight:400;text-transform:uppercase}body.dashboard-page .dashboard-dialog-content p:not(.dashboard-eyebrow){color:var(--paper-ink-2);font-size:13px;line-height:1.5}body.dashboard-page .dashboard-dialog-content strong{color:var(--paper-ink);font-size:18px}body.dashboard-page .dashboard-dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:24px}body.dashboard-page .dashboard-login-shell{min-height:100vh;display:grid;grid-template-columns:1fr minmax(300px,440px) 1fr;grid-template-rows:auto 1fr;gap:28px;padding:28px clamp(20px,5vw,72px)}body.dashboard-page .dashboard-login-shell>.dashboard-back{grid-column:1 / -1;color:var(--paper-ink-2)}body.dashboard-page .dashboard-login-card{grid-column:2;align-self:center;padding:clamp(26px,5vw,44px);border:1px solid var(--border);background:var(--paper-raised);box-shadow:12px 12px 0 var(--paper-deep)}body.dashboard-page .dashboard-login-card h1{margin:7px 0 0;font-family:League Gothic,Arial Narrow,sans-serif;font-size:48px;font-weight:400;line-height:1;text-transform:uppercase}body.dashboard-page .dashboard-login-copy{margin:13px 0 24px;color:var(--paper-ink-3);font-size:13px;line-height:1.55}body.dashboard-page .dashboard-login-card form{display:grid;gap:9px}body.dashboard-page .dashboard-login-card label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}body.dashboard-page .dashboard-login-card input{width:100%;min-height:46px;padding:9px 11px;border:1px solid var(--border);color:var(--paper-ink);background:#fffdf8}body.dashboard-page .dashboard-login-card input:focus-visible{outline:2px solid var(--cardinal);outline-offset:2px}body.dashboard-page .dashboard-login-card button{margin-top:5px;text-align:left}body.dashboard-page .dashboard-login-card button:disabled{opacity:.65;cursor:wait}body.dashboard-page .dashboard-login-card .dashboard-message{min-height:20px;margin:0}@media(max-width:560px){body.portfolio-page .portfolio-disclosure{font-size:10px}body.dashboard-page .dashboard-header{grid-template-columns:1fr auto;gap:10px}body.dashboard-page .dashboard-header>div{grid-column:1 / -1;grid-row:1;text-align:left}body.dashboard-page .dashboard-header .dashboard-back{grid-column:1;grid-row:2}body.dashboard-page .dashboard-logout{grid-column:2;grid-row:2}body.dashboard-page .dashboard-main{padding-top:24px}body.dashboard-page .dashboard-toolbar{align-items:start;flex-direction:column}body.dashboard-page .dashboard-controls{grid-template-columns:1fr}body.dashboard-page .dashboard-control-buttons{display:grid;grid-template-columns:repeat(3,1fr)}body.dashboard-page .dashboard-control-button{padding:0 8px}body.dashboard-page .dashboard-table-scroll{max-height:calc(100vh - 310px)}body.dashboard-page .dashboard-login-shell{grid-template-columns:1fr;grid-template-rows:auto 1fr}body.dashboard-page .dashboard-login-card{grid-column:1}}@media(max-width:1023px){body.portfolio-page .portfolio-mobile-tabs{height:49px;display:flex;flex:0 0 49px;border-top:1px solid rgba(243,236,223,.14);background:var(--ink)}body.portfolio-page .portfolio-gallery-heading{top:0;padding-top:20px}body.portfolio-page .portfolio-mobile-tabs button{width:50%;display:flex;align-items:center;justify-content:center;gap:8px;border:0;color:#aaa39a;background:transparent;font-size:12.48px;font-weight:650;font-stretch:72%;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}body.portfolio-page .portfolio-mobile-tabs button[aria-pressed=true]{color:#fbf6ec;background:var(--cardinal)}body.portfolio-page .portfolio-mobile-tabs button span{font-size:14px}body.portfolio-page .portfolio-layout{height:calc(100dvh - 113px);display:flex}body.portfolio-page .portfolio-document-panel,body.portfolio-page .portfolio-chat{display:none;width:100%;height:100%}body.portfolio-page.mobile-view-document .portfolio-document-panel,body.portfolio-page.mobile-view-chat .portfolio-chat{display:flex}body.portfolio-page .portfolio-document-panel{padding:0}body.portfolio-page .portfolio-paper{padding:20px clamp(20px,6vw,56px) 28px}body.portfolio-page .portfolio-profile-card{padding:clamp(16px,4vw,24px)}body.portfolio-page .portfolio-profile-heading h1{font-size:clamp(40px,8vw,54px)}body.portfolio-page .portfolio-stack-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body.portfolio-page .portfolio-chat-header{min-height:87px}body.portfolio-page .portfolio-chat-body{padding:20px}body.portfolio-page .portfolio-composer-area{padding:12px 16px}}@media(min-width:1024px)and (max-width:1300px){body.portfolio-page .portfolio-stack-grid{columns:2;column-gap:20px}}@media(max-width:560px){body.portfolio-page .portfolio-nav{padding:0 16px}body.portfolio-page .portfolio-nav-name{font-size:17px}body.portfolio-page .portfolio-nav-name span{margin-left:4px;font-size:8px}body.portfolio-page .portfolio-download{gap:6px;padding-right:10px;padding-left:10px;font-size:10px}body.portfolio-page .portfolio-paper{padding:16px 16px 24px}body.portfolio-page .portfolio-profile-card{padding:16px 14px}body.portfolio-page .portfolio-profile-heading{gap:14px}body.portfolio-page .portfolio-profile-photo{width:62px;height:76px}body.portfolio-page .portfolio-profile-heading h1{font-size:42px}body.portfolio-page .portfolio-profile-kicker{font-size:8px}body.portfolio-page .portfolio-profile-facts div{grid-template-columns:92px minmax(0,1fr);gap:10px}body.portfolio-page .portfolio-profile-facts dd{font-size:12px}body.portfolio-page .portfolio-stack,body.portfolio-page .portfolio-experience{padding-right:2px;padding-left:2px}body.portfolio-page .portfolio-stack-grid{columns:1;padding-right:4px;padding-left:4px}body.portfolio-page .portfolio-stack-grid li{gap:8px}body.portfolio-page .portfolio-stack-grid span{width:75px;flex-basis:75px}body.portfolio-page .portfolio-stack-grid strong{font-size:22px}body.portfolio-page .portfolio-past-work{grid-template-columns:1fr;gap:18px}body.portfolio-page .portfolio-profile-footer{font-size:7px}body.portfolio-page .portfolio-chat-header{padding-right:20px;padding-left:20px}body.portfolio-page .portfolio-chat-body{padding:20px}body.portfolio-page .portfolio-suggestions .suggestion-list{display:grid;grid-template-columns:1fr;gap:8px}body.portfolio-page .portfolio-suggestions .suggestion-chip{width:fit-content;max-width:100%;min-height:37px;font-size:14px}body.portfolio-page .portfolio-transcript .message-content{max-width:calc(100% - 50px)}body.portfolio-page .portfolio-transcript .message-row.user .message-content{max-width:82%}body.portfolio-page .portfolio-composer-area{padding-right:16px;padding-left:16px}}@media(prefers-reduced-motion:reduce){body.portfolio-page *,body.portfolio-page *:before,body.portfolio-page *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media print{body.portfolio-page{height:auto;min-height:0;overflow:visible;background:#fff}body.portfolio-page .portfolio-nav,body.portfolio-page .portfolio-mobile-tabs,body.portfolio-page .portfolio-chat,body.portfolio-page .diagnostics{display:none!important}body.portfolio-page .portfolio-layout{height:auto;display:block;overflow:visible}body.portfolio-page .portfolio-document-panel{display:block;min-height:0;padding:0;overflow:visible;background:#fff}body.portfolio-page .portfolio-paper{width:100%;height:auto;min-height:0;padding:12mm;overflow:visible}body.portfolio-page .portfolio-document-panel{color:#15120f;background:#fff}body.portfolio-page .portfolio-profile-card{color:#15120f;background:#f3eee5;-webkit-print-color-adjust:exact;print-color-adjust:exact}body.portfolio-page .portfolio-profile-heading h1,body.portfolio-page .portfolio-section-heading h2,body.portfolio-page .portfolio-stack-grid strong,body.portfolio-page .portfolio-experience-card h3,body.portfolio-page .portfolio-past-work h3{color:#15120f}body.portfolio-page .portfolio-profile-facts dd,body.portfolio-page .portfolio-experience-card p,body.portfolio-page .portfolio-past-work p,body.portfolio-page .portfolio-experience-bullets{color:#3a332b}}
