:root{--bg:#0c0806;--bg-2:#150c09;--cream:#f3ddc9;--orange:#e8461f;--orange-dim:#7a2c15;--ink:#1a1310;--paper:#f4efe6;--paper-shadow:#0000008c;--mobile-reader-h:42px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:var(--bg);color:var(--cream);font-family:Inter,system-ui,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{background:radial-gradient(ellipse 120% 80% at 50% -10%, #2a120a 0%, var(--bg) 55%, #000 100%);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;overflow:hidden}.display{text-transform:uppercase;letter-spacing:.01em;font-family:Playfair Display,Inter,serif;font-weight:900}.blackout{z-index:300;pointer-events:none;opacity:0;background:#000;transition:opacity .3s;position:fixed;inset:0}.blackout[data-visible=true]{opacity:1}body.reading-page{-webkit-user-select:text;user-select:text;overflow:auto}.theater{justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:relative;overflow:hidden}.theater-content{z-index:10;flex-direction:column;justify-content:center;align-items:center;gap:72px;padding:0 24px;display:flex;position:relative}.curtain{z-index:100;pointer-events:none;background:repeating-linear-gradient(90deg,#3a0f08 0,#52170c 18px,#2c0a05 36px,#46130a 54px);width:52%;position:fixed;top:0;bottom:0;box-shadow:inset 0 0 140px #000000a6}.curtain:after{content:"";background:linear-gradient(#00000080,#0000 30% 70%,#0009);position:absolute;inset:0}.curtain--left{border-right:2px solid #00000080;animation:1.1s cubic-bezier(.6,0,.2,1) .35s forwards curtain-open-left;left:0}.curtain--right{border-left:2px solid #00000080;animation:1.1s cubic-bezier(.6,0,.2,1) .35s forwards curtain-open-right;right:0}@keyframes curtain-open-left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes curtain-open-right{0%{transform:translate(0)}to{transform:translate(100%)}}.stage-frame{z-index:5;pointer-events:none;background:repeating-linear-gradient(90deg,#2a0d07 0,#3c120a 14px,#220905 28px,#34100a 42px);width:8vw;min-width:64px;max-width:120px;position:fixed;top:0;bottom:0;box-shadow:inset 0 0 70px #000000b3}.stage-frame:after{content:"";background:linear-gradient(#0000008c,#0000 20% 80%,#0009);position:absolute;inset:0}.stage-frame--left{clip-path:polygon(0 0,100% 0,76% 100%,0 100%);border-right:2px solid #00000080;left:0}.stage-frame--right{clip-path:polygon(0 0,100% 0,100% 100%,24% 100%);border-left:2px solid #00000080;right:0}.stage-spotlight{pointer-events:none;z-index:1;background:radial-gradient(50% 60% at 50% 22%,#e8461f29,#0000 70%);width:92vw;max-width:1200px;height:74vh;position:absolute;top:4%;left:50%;transform:translate(-50%)}.stage-floor{pointer-events:none;z-index:2;background:linear-gradient(#0000,#e8461f12 45%,#0000008c);height:24vh;position:fixed;bottom:0;left:0;right:0}.theater-marquee{text-align:center}.theater-lights{justify-content:center;gap:13px;margin-bottom:22px;display:flex}.theater-lights span{background:var(--orange);opacity:.25;border-radius:50%;width:8px;height:8px;animation:1.8s ease-in-out infinite bulb-flicker;box-shadow:0 0 8px #e8461fb3}@keyframes bulb-flicker{0%,to{opacity:.2}50%{opacity:1}}.theater-name{letter-spacing:.02em;color:var(--cream);text-shadow:0 0 50px #e8461f4d;font-size:clamp(3.4rem,9vw,7rem);line-height:.95}.theater-caption{color:#f3ddc980;letter-spacing:.06em;margin-top:18px;font-size:1.05rem}.theater-doors{gap:76px;display:flex}.door-unit{flex-direction:column;align-items:center;transition:opacity .4s;display:flex}.door-unit--dim{opacity:.3}.door-sign{background:linear-gradient(#ffd6aa14,#e8461f08);border:1px solid #f3ddc924;border-radius:10px;flex-direction:column;align-items:center;margin-bottom:18px;padding:11px 24px 13px;display:flex}.door-sign-eyebrow{letter-spacing:.2em;text-transform:uppercase;color:#f3ddc966;font-size:.68rem}.door-sign-role{color:var(--cream);text-shadow:0 0 16px #e8461f4d;margin-top:3px;font-size:1.5rem}.door{cursor:pointer;perspective:1200px;background:linear-gradient(#17100b,#0a0705);border:none;border-radius:16px 16px 5px 5px;width:240px;height:390px;padding:11px;transition:box-shadow .3s;position:relative;overflow:hidden;box-shadow:0 0 0 1px #f3ddc914,0 32px 60px #0000008c}.door:not(:disabled):hover{box-shadow:0 0 0 1px #e8461f80,0 26px 60px #e8461f2e}.door:disabled{cursor:default}.door--opening{z-index:60;overflow:visible}.door-plaque{color:#2a1a0c;z-index:3;background:linear-gradient(#f0c987,#a9762f);border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:.95rem;font-weight:700;display:flex;position:absolute;top:-24px;left:50%;transform:translate(-50%);box-shadow:0 2px 10px #00000080}.door-glow{background:radial-gradient(circle at center, #fff8ef 0%, var(--cream) 22%, var(--orange) 48%, transparent 75%);opacity:0;z-index:0;will-change:transform, opacity;position:absolute;inset:11px}.door-threshold{filter:blur(1.5px);opacity:.35;z-index:1;background:linear-gradient(90deg,#0000,#ffbe78d9,#0000);border-radius:2px;height:4px;transition:opacity .4s;position:absolute;bottom:11px;left:16%;right:16%}.door--opening .door-threshold{opacity:1}.door-panel{background-blend-mode:overlay;backface-visibility:hidden;z-index:2;background:linear-gradient(90deg,#241610,#2f1c13 20%,#1c110b 40%,#2a1810 60%,#1c110b 80%,#241610),linear-gradient(#2c1a10,#170e08);border-radius:4px;width:calc(50% - 11px);position:absolute;top:11px;bottom:11px}.door-panel--left{transform-origin:0;left:11px}.door-panel--right{transform-origin:100%;right:11px}.door-panel-inset{border:1px solid #00000059;border-radius:4px;position:absolute;left:14%;right:14%;box-shadow:inset 2px 2px 4px #0009,inset -1px -1px 3px #ffffff0d}.door-panel-inset--top{height:38%;top:10%}.door-panel-inset--bottom{height:30%;bottom:10%}.door-handle{background:linear-gradient(#f0c987,#a9762f);border-radius:4px;width:7px;height:44px;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 0 8px #00000080}.door-panel--left .door-handle{right:10px}.door-panel--right .door-handle{left:10px}.door-cta{letter-spacing:.1em;text-transform:uppercase;color:var(--orange);opacity:0;margin-top:16px;font-size:.78rem;transition:opacity .25s,transform .25s;transform:translateY(4px)}.door-unit:hover .door-cta{opacity:1;transform:translateY(0)}@media (width<=560px){.theater{align-items:flex-start;overflow-y:auto}.theater-content{gap:36px;padding:48px 24px}.theater-doors{flex-direction:column;gap:20px}.theater-name{font-size:clamp(2.6rem,12vw,3.4rem)}.door{width:170px;height:280px}.door-sign{margin-bottom:12px;padding:8px 18px 10px}.door-sign-role{font-size:1.2rem}}.ticket{background:var(--paper);width:320px;color:var(--ink);box-shadow:0 18px 40px var(--paper-shadow);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;z-index:10;border-radius:14px;position:absolute;top:14vh;left:8vw;overflow:visible}.ticket:active{cursor:grabbing}.ticket--inserted{cursor:grab}.ticket-top{padding:22px 22px 26px}.ticket-eyebrow{letter-spacing:.18em;color:var(--orange);margin-bottom:6px;font-size:.65rem;font-weight:700}.ticket-title{font-size:2.4rem;line-height:.95}.ticket-sub{color:#1a131099;margin-top:8px;font-size:.75rem}.ticket-perf{align-items:center;height:0;display:flex;position:relative}.ticket-notch{background:var(--bg);width:10px;height:20px;position:absolute;top:-10px}.ticket-notch--left{border-radius:0 20px 20px 0;left:0}.ticket-notch--right{border-radius:20px 0 0 20px;right:0}.ticket-dashes{border-top:2px dashed #1a131040;flex:1;align-self:center;margin:0 16px}.ticket-bottom{padding:20px 22px 22px}.ticket-barcode{justify-content:flex-end;align-items:flex-end;gap:2px;height:30px;margin-bottom:12px;display:flex}.ticket-barcode span{background:var(--ink);opacity:.85;height:100%;display:block}.ticket-meta{letter-spacing:.08em;color:#1a13108c;justify-content:space-between;font-size:.6rem;font-weight:600;display:flex}.ticket-flash{pointer-events:none;background:linear-gradient(100deg,#0000 20%,#ffffffd9 48%,#ffc896e6 52%,#0000 80%) 0 0/250% 100%;border-radius:14px;animation:.6s ease-out forwards flash-sweep;position:absolute;inset:0}@keyframes flash-sweep{0%{opacity:1;background-position:120% 0}to{opacity:0;background-position:-20% 0}}@media (width<=768px){.ticket{background:linear-gradient(165deg,#17110d,#0a0705);border:1.5px solid #a9762f;border-radius:12px;width:170px;box-shadow:0 12px 26px #0000008c}.ticket .ticket-flash{border-radius:12px}.ticket{-webkit-mask-image:radial-gradient(8px at 0,#0000 99%,#000 100%);mask-image:radial-gradient(8px at 0,#0000 99%,#000 100%)}.ticket-mobile-face{text-align:center;flex-direction:column;align-items:center;gap:3px;padding:9px 14px 10px;display:flex}.ticket-mobile-row{justify-content:space-between;align-items:center;width:100%;margin-bottom:1px;display:flex}.ticket-mobile-corner{letter-spacing:.05em;color:#d9ac5f;font-size:.5rem;font-weight:700}.ticket-mobile-title{color:#f0c987;text-shadow:0 0 12px #f0c98759;font-size:1.05rem;line-height:1.05}.ticket-mobile-subtitle{letter-spacing:.05em;text-transform:uppercase;color:#f0c987b3;font-size:.55rem}.ticket-mobile-dashes{border-top:1px dashed #d9ac5f80;width:60%;margin:3px 0 2px}.ticket-mobile-micro{letter-spacing:.06em;text-transform:uppercase;color:#d9ac5f8c;text-overflow:ellipsis;white-space:nowrap;max-width:92%;font-size:.42rem;overflow:hidden}}.reader{z-index:20;background:linear-gradient(160deg,#2a221d 0%,#16100c 55%,#0c0806 100%);border:1px solid #f3ddc91f;border-right:none;border-radius:20px 0 0 20px;flex-direction:column;justify-content:center;align-items:center;gap:22px;width:88px;height:260px;transition:box-shadow .3s,border-color .3s;display:flex;position:fixed;top:50%;right:0;transform:translateY(-50%);box-shadow:-18px 0 40px #0000008c,inset 1px 0 #ffffff0a}.reader--active{border-color:#e8461f80;box-shadow:-18px 0 40px #0000008c,0 0 50px #e8461f40,inset 1px 0 #ffffff0a}.reader-slot{background:#000;border-radius:7px;width:14px;height:68%;position:relative;overflow:hidden;box-shadow:inset 0 0 8px #000000e6,inset 0 0 0 1px #ffffff0d}.reader-led{z-index:1;background:#f3ddc940;border-radius:50%;width:6px;height:6px;transition:background .2s,box-shadow .2s;position:absolute;top:10px;left:50%;transform:translate(-50%)}.reader--active .reader-led{background:var(--orange);box-shadow:0 0 8px var(--orange)}.reader-beam{background:linear-gradient(#0000,#e8461fe6,#0000);height:30%;animation:1s ease-in-out infinite reader-sweep;position:absolute;left:-3px;right:-3px}@keyframes reader-sweep{0%{top:-30%}to{top:100%}}.reader-label{writing-mode:vertical-rl;letter-spacing:.18em;color:#f3ddc966;font-size:.7rem;transform:rotate(180deg)}.reader--active .reader-label{color:var(--orange)}@media (width<=768px){.reader{width:100%;height:var(--mobile-reader-h);border:1px solid #f3ddc91f;border-top:none;border-radius:0 0 20px 20px;flex-direction:row;gap:10px;inset:0 0 auto;transform:none;box-shadow:0 12px 30px #0000008c,inset 0 -1px #ffffff0a}.reader--active{box-shadow:0 12px 30px #0000008c,0 0 40px #e8461f40,inset 0 -1px #ffffff0a}.reader-slot{width:55%;height:10px}.reader-led{top:50%;left:50%;transform:translate(-50%,-50%)}.reader-beam{background:linear-gradient(90deg,#0000,#e8461fe6,#0000);width:30%;height:auto;animation-name:reader-sweep-horizontal;inset:-3px auto}.reader-label{writing-mode:horizontal-tb;transform:none}}@keyframes reader-sweep-horizontal{0%{left:-30%}to{left:100%}}:root{--react-pdf-annotation-layer:1;--annotation-unfocused-field-background:url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");--input-focus-border-color:Highlight;--input-focus-outline:1px solid Canvas;--input-unfocused-border-color:transparent;--input-disabled-border-color:transparent;--input-hover-border-color:black;--link-outline:none}@media screen and (forced-colors:active){:root{--input-focus-border-color:CanvasText;--input-unfocused-border-color:ActiveText;--input-disabled-border-color:GrayText;--input-hover-border-color:Highlight;--link-outline:1.5px solid LinkText}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid selecteditem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert();backdrop-filter:invert()}}.annotationLayer{pointer-events:none;transform-origin:0 0;z-index:3;position:absolute;top:0;left:0}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg)translate(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg)translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg)translateY(-100%)}.annotationLayer canvas{width:100%;height:100%;position:absolute}.annotationLayer section{text-align:initial;pointer-events:auto;box-sizing:border-box;transform-origin:0 0;margin:0;position:absolute}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{width:100%;height:100%;font-size:1em;position:absolute;top:0;left:0}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{cursor:pointer;width:100%;height:100%;position:absolute;top:0;left:0}.annotationLayer .textWidgetAnnotation :is(input,textarea),.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--total-scale-factor)) sans-serif;vertical-align:top;width:100%;height:100%;margin:0}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{border:2px solid var(--input-disabled-border-color);cursor:not-allowed;background:0 0}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}.annotationLayer .textWidgetAnnotation :is(input,textarea):focus,.annotationLayer .choiceWidgetAnnotation select:focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline);background:0 0;border-radius:2px}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-color:#0000;background-image:none}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline);border-radius:2px}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{content:"";background-color:canvastext;display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{width:1px;height:80%;left:45%}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;width:50%;height:50%;top:20%;left:30%}.annotationLayer .textWidgetAnnotation input.comb{padding-left:2px;padding-right:0;font-family:monospace}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{appearance:none}.annotationLayer .popupTriggerArea{width:100%;height:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{font-size:calc(9px * var(--total-scale-factor));width:100%;min-width:calc(180px * var(--total-scale-factor));pointer-events:none;position:absolute}.annotationLayer .popup{max-width:calc(180px * var(--total-scale-factor));box-shadow:0 calc(2px * var(--total-scale-factor)) calc(5px * var(--total-scale-factor)) #888;border-radius:calc(2px * var(--total-scale-factor));padding:calc(6px * var(--total-scale-factor));margin-left:calc(5px * var(--total-scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto;background-color:#ff9;position:absolute}.annotationLayer .popup>*{font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{margin-left:calc(5px * var(--total-scale-factor));display:inline-block}.annotationLayer .popupContent{margin-top:calc(2px * var(--total-scale-factor));padding-top:calc(2px * var(--total-scale-factor));border-top:1px solid #333}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .highlightAnnotation,.annotationLayer .underlineAnnotation,.annotationLayer .squigglyAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .lineAnnotation svg line,.annotationLayer .squareAnnotation svg rect,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .caretAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .stampAnnotation,.annotationLayer .fileAttachmentAnnotation{cursor:pointer}.annotationLayer section svg{width:100%;height:100%;position:absolute;top:0;left:0}.annotationLayer .annotationTextContent{opacity:0;color:#0000;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;position:absolute}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}.resume-preview-wrap{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex}.resume-zoom-row{flex-direction:column;align-self:center;align-items:center;gap:6px;display:flex}.resume-zoom-controls{color:#f3ddc9bf;background:#f3ddc914;border:1px solid #f3ddc926;border-radius:999px;align-items:center;gap:10px;padding:4px 6px;font-size:.8rem;display:flex}.resume-zoom-controls span{text-align:center;font-variant-numeric:tabular-nums;min-width:3.2em}.resume-zoom-controls button{width:28px;height:28px;color:var(--cream);background:#00000040;border:1px solid #f3ddc933;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:1rem;line-height:1;display:flex}.resume-zoom-controls button:hover:not(:disabled){color:var(--orange);border-color:#e8461f99}.resume-zoom-controls button:disabled{opacity:.35;cursor:default}.resume-zoom-hint{color:#f3ddc980;white-space:nowrap;font-size:.72rem}.resume-preview{scrollbar-width:thin;scrollbar-color:var(--orange-dim) transparent;background:#625b54;border:1px solid #f3ddc926;border-radius:10px;flex-direction:column;flex:1;align-items:flex-start;gap:12px;width:100%;min-height:50vh;padding:12px;display:flex;overflow:auto}.resume-preview-page{border-radius:2px;flex-shrink:0;line-height:0;overflow:hidden;box-shadow:0 6px 18px #0006}.resume-preview-page canvas{display:block;height:auto!important}.resume-preview-loading,.resume-preview-error{color:#f3ddc999;text-align:center;margin:auto;padding:24px;font-size:.85rem}@media (width<=768px){.resume-preview{gap:8px;min-height:68vh;padding:4px}}.gallery-back{color:#f3ddc9a6;cursor:pointer;background:0 0;border:none;margin-bottom:18px;font-size:.85rem;transition:color .15s;display:inline-block}.gallery-back:hover{color:var(--orange)}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;margin-top:20px;display:grid}.gallery-card{text-align:left;cursor:pointer;background:#f3ddc90f;border:1px solid #f3ddc91f;border-radius:16px;flex-direction:column;align-items:flex-start;gap:10px;padding:22px;transition:border-color .2s,transform .2s;display:flex;position:relative}.gallery-card:hover{border-color:#e8461f80;transform:translateY(-2px)}.gallery-card--featured{border-color:#e8461f66;animation:2.6s ease-in-out infinite ember-glow}.gallery-card--featured:hover{border-color:#ff8232bf;animation-play-state:paused;box-shadow:0 0 0 1px #ff823280,0 0 36px 10px #ff5a1466}@keyframes ember-glow{0%,to{box-shadow:0 0 0 1px #e8461f40,0 0 16px 1px #e8461f1f}50%{box-shadow:0 0 0 1px #ff82328c,0 0 32px 6px #ff5a144d}}@media (prefers-reduced-motion:reduce){.gallery-card--featured{animation:none;box-shadow:0 0 0 1px #e8461f66,0 0 20px 2px #e8461f33}}.gallery-card-logo{object-fit:cover;border-radius:16px;width:68px;height:68px;box-shadow:0 6px 16px #00000040}.gallery-card-logo--placeholder{text-transform:uppercase;color:var(--orange);background:linear-gradient(160deg,#2a221d,#17110d);justify-content:center;align-items:center;font-family:Anton,sans-serif;font-size:1.8rem;display:flex}.gallery-card-title{text-transform:uppercase;color:var(--cream);font-family:Anton,sans-serif;font-size:1.35rem;line-height:1.05}.gallery-card-subtitle{color:#f3ddc98c;font-size:.85rem}.gallery-hot-badge{color:#1a0d06;letter-spacing:.04em;text-transform:uppercase;background:linear-gradient(100deg,#e8461f,#ff9640,#e8461f,#ff6a1f) 0 0/300% 100%;border-radius:999px;align-self:flex-start;align-items:center;gap:4px;padding:4px 10px;font-size:.64rem;font-weight:800;animation:3s ease-in-out infinite ember-shimmer;display:inline-flex}.gallery-hot-badge-flame{font-size:.85em;animation:1.4s ease-in-out infinite flame-flicker;display:inline-block}@keyframes ember-shimmer{0%,to{background-position:0%}50%{background-position:100%}}@keyframes flame-flicker{0%,to{opacity:1;transform:scale(1)rotate(-3deg)}50%{opacity:.85;transform:scale(1.15)rotate(3deg)}}@media (prefers-reduced-motion:reduce){.gallery-hot-badge{background:var(--orange);animation:none}.gallery-hot-badge-flame{animation:none}}@media (width<=768px){.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.gallery-card{gap:7px;padding:14px}.gallery-card-logo{border-radius:12px;width:48px;height:48px}.gallery-card-title{font-size:1rem}.gallery-card-subtitle{font-size:.7rem}}.detail-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:50;pointer-events:none;background:#040201b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0 240px 0 0;-webkit-mask-image:linear-gradient(90deg,#000 0% 85%,#0000 100%);mask-image:linear-gradient(90deg,#000 0% 85%,#0000 100%)}.detail-backdrop[data-tappable]{pointer-events:auto;cursor:pointer}.detail-panel{pointer-events:auto;background:linear-gradient(160deg,#1b1310,#0d0806);border:1px solid #e8461f59;border-radius:18px;width:min(920px,100vw - 300px);max-height:92vh;padding:56px;position:relative;overflow:hidden;box-shadow:0 30px 80px #000000b3,0 0 60px #e8461f14}.detail-hint{letter-spacing:.14em;text-transform:uppercase;color:#e8461fbf;margin-top:22px;font-size:.7rem}.detail-scroll{scrollbar-width:thin;scrollbar-color:var(--orange-dim) transparent;-webkit-user-select:text;user-select:text;max-height:78vh;padding-right:6px;overflow-y:auto}.detail-line{color:#f3ddc9d9;margin:0 0 14px;font-size:1rem;line-height:1.5}.detail-line--eyebrow{letter-spacing:.2em;text-transform:uppercase;color:var(--orange);font-size:.7rem;font-weight:700}.detail-line--title{text-transform:uppercase;color:var(--cream);margin:6px 0 18px;font-family:Anton,sans-serif;font-size:2.6rem;line-height:.95}.detail-line--label{letter-spacing:.15em;text-transform:uppercase;color:#f3ddc973;margin-bottom:8px;font-size:.7rem}.detail-project-header{align-items:center;gap:16px;margin-bottom:8px;display:flex}.detail-project-logo{object-fit:cover;border-radius:10px;flex-shrink:0;width:56px;height:56px}.detail-project-header .detail-line--title{margin:4px 0 0;font-size:2rem}.detail-project-tech{flex-wrap:wrap;gap:8px;margin:8px 0 20px;display:flex}.detail-project-chip{letter-spacing:.04em;color:#f3ddc9bf;background:#f3ddc914;border:1px solid #f3ddc926;border-radius:999px;padding:5px 12px;font-size:.72rem}.detail-spacer{height:18px}.detail-panel--resume{flex-direction:column;max-height:94vh;display:flex}.detail-resume{flex-direction:column;flex:1;min-height:0;display:flex}.detail-resume-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.detail-resume-heading{flex-direction:column;display:flex}.detail-resume-heading .detail-line--eyebrow,.detail-resume-heading .detail-line--title{margin:0}.detail-download{letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;background:var(--orange);color:var(--ink);border-radius:999px;flex-shrink:0;padding:10px 18px;font-size:.75rem;font-weight:700;text-decoration:none;transition:transform .15s,box-shadow .15s;box-shadow:0 8px 20px #e8461f4d}.detail-download:hover{transform:translateY(-1px);box-shadow:0 10px 26px #e8461f66}.detail-project-actions{flex-wrap:wrap;gap:12px;display:flex}.detail-download--outline{color:var(--orange);box-shadow:none;background:0 0;border:1px solid #e8461f80}.detail-download--outline:hover{box-shadow:0 8px 20px #e8461f26}@media (width<=768px){.detail-backdrop{right:0;-webkit-mask-image:none;mask-image:none}.detail-panel{width:calc(100vw - 32px);padding:32px 20px 24px}.detail-line--title{font-size:1.9rem}.detail-project-header .detail-line--title{font-size:1.5rem}.detail-panel--resume{width:calc(100vw - 8px);max-height:97vh;padding:16px 6px 10px}.detail-resume-header{padding:0 4px}}.scene{width:100vw;height:100vh;position:relative;overflow:hidden}.scene-back{z-index:30;letter-spacing:.08em;text-transform:uppercase;color:#f3ddc999;cursor:pointer;background:0 0;border:1px solid #f3ddc933;border-radius:999px;padding:8px 16px;font-family:inherit;font-size:.7rem;transition:border-color .2s,color .2s;position:absolute;top:24px;left:24px}.scene-back:hover{color:var(--cream);border-color:#e8461f99}.scene-heading{text-align:center;z-index:1;pointer-events:none;position:absolute;top:8vh;left:50%;transform:translate(-50%)}.scene-title{color:var(--cream);font-size:clamp(2.4rem,6vw,4.2rem);line-height:.95}.scene-title--accent{color:var(--orange)}.scene-caption{letter-spacing:.1em;color:#f3ddc973;text-transform:uppercase;margin-top:14px;font-size:.8rem}.scene-arrow{display:none}@media (width<=768px){.scene-back{top:calc(var(--mobile-reader-h) + 12px)}.scene-heading{max-width:92vw;top:50%;transform:translate(-50%,-50%)}.scene-arrow{color:var(--orange);margin-bottom:10px;font-size:1.6rem;animation:1.4s ease-in-out infinite scene-arrow-bounce;display:block}@keyframes scene-arrow-bounce{0%,to{opacity:.6;transform:translateY(0)}50%{opacity:1;transform:translateY(-8px)}}}.resume-shortcut{position:relative}.resume-shortcut-btn{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--cream);letter-spacing:.04em;cursor:pointer;white-space:nowrap;background:#0c080699;border:1px solid #f3ddc940;border-radius:999px;padding:10px 18px;font-family:inherit;font-size:.75rem;font-weight:600;transition:border-color .2s,color .2s}.resume-shortcut:hover .resume-shortcut-btn,.resume-shortcut-btn:focus-visible{color:var(--orange);border-color:#e8461f99}.resume-shortcut-menu{background:linear-gradient(160deg,#1b1310,#0d0806);border:1px solid #f3ddc926;border-radius:12px;flex-direction:column;min-width:190px;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 20px 50px #0009}.resume-shortcut-option{color:var(--cream);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:10px 14px;font-family:inherit;font-size:.8rem;transition:background .15s,color .15s}.resume-shortcut-option:hover{color:var(--orange);background:#e8461f1f}.resume-shortcut-backdrop{z-index:260;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#040201bf;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.resume-shortcut-modal{background:linear-gradient(160deg,#1b1310,#0d0806);border:1px solid #e8461f59;border-radius:18px;flex-direction:column;width:min(760px,90vw);max-height:88vh;padding:32px;display:flex;position:relative;box-shadow:0 30px 80px #000000b3,0 0 60px #e8461f14}.resume-shortcut-modal-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.resume-shortcut-modal-title{color:var(--cream);font-size:1.6rem}.resume-shortcut-status{color:#f3ddc999;text-align:center;padding:40px 0;font-size:.85rem}.resume-shortcut-modal-actions{align-items:center;gap:10px;display:flex}.resume-shortcut-download{background:var(--orange);color:var(--ink);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:10px 18px;font-size:.75rem;font-weight:700;text-decoration:none;transition:transform .15s,box-shadow .15s;box-shadow:0 8px 20px #e8461f4d}.resume-shortcut-download:hover{transform:translateY(-1px);box-shadow:0 10px 26px #e8461f66}.resume-shortcut-close{width:32px;height:32px;color:var(--cream);cursor:pointer;background:0 0;border:1px solid #f3ddc933;border-radius:50%;flex-shrink:0;font-size:1.2rem;line-height:1;transition:border-color .2s,color .2s}.resume-shortcut-close:hover{color:var(--orange);border-color:#e8461f99}.blog-shortcut{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--cream);letter-spacing:.04em;white-space:nowrap;background:#0c080699;border:1px solid #f3ddc940;border-radius:999px;padding:10px 18px;font-family:inherit;font-size:.75rem;font-weight:600;text-decoration:none;transition:border-color .2s,color .2s;display:inline-block}.blog-shortcut:hover,.blog-shortcut:focus-visible{color:var(--orange);border-color:#e8461f99}.top-controls{z-index:255;align-items:flex-start;gap:8px;display:flex;position:fixed;top:24px;right:24px}@media (width<=768px){.top-controls--scene{top:calc(var(--mobile-reader-h) + 12px)}}.social-links{z-index:250;gap:8px;display:flex;position:fixed;top:70px;right:24px}@media (width<=768px){.social-links--scene{top:calc(var(--mobile-reader-h) + 12px + 46px)}}.social-links-btn{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);width:34px;height:34px;color:var(--cream);background:#0c080699;border:1px solid #f3ddc940;border-radius:999px;justify-content:center;align-items:center;transition:border-color .2s,color .2s;display:flex}.social-links-btn:hover,.social-links-btn:focus-visible{color:var(--orange);border-color:#e8461f99}.blog-index-page{max-width:1280px;min-height:100vh;margin:0 auto;padding:48px 40px 96px}.blog-index-page .blog-back{color:#f3ddc9a6;margin-bottom:32px;font-size:.9rem;text-decoration:none;transition:color .15s;display:inline-block}.blog-index-page .blog-back:hover{color:var(--orange)}.blog-index-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:40px;display:flex}.blog-index-title{color:var(--cream);margin:0;font-size:4rem;line-height:.95}.blog-index-title--orange{color:var(--orange)}.blog-index-search{background:#f3ddc90f;border:1px solid #f3ddc926;border-radius:999px;align-items:center;gap:8px;min-width:280px;padding:6px 8px 6px 18px;display:flex}.blog-index-search input{color:var(--cream);font:inherit;background:0 0;border:none;outline:none;flex:1;font-size:.95rem}.blog-index-search input::placeholder{color:#f3ddc966}.blog-index-search button{background:var(--orange);width:36px;height:36px;color:var(--ink);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:filter .15s;display:flex}.blog-index-search button:hover{filter:brightness(1.1)}.blog-status{color:#f3ddc999;font-size:1rem}.blog-index-layout{grid-template-columns:220px 1fr;align-items:start;gap:40px;display:grid}.blog-index-sidebar{background:#f3ddc90a;border:1px solid #f3ddc91a;border-radius:16px;padding:22px;position:sticky;top:40px}.blog-index-sidebar-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.blog-index-sidebar-header h2{text-transform:uppercase;color:var(--cream);margin:0;font-family:Anton,sans-serif;font-size:1rem}.blog-index-clear{color:var(--orange);cursor:pointer;background:0 0;border:none;padding:0;font-size:.75rem}.blog-index-clear:hover{text-decoration:underline}.blog-index-tag-list{flex-direction:column;gap:4px;display:flex}.blog-index-tag-checkbox{color:#f3ddc9bf;cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:7px 8px;font-size:.88rem;transition:background .15s,color .15s;display:flex}.blog-index-tag-checkbox:hover{color:var(--cream);background:#f3ddc90f}.blog-index-tag-checkbox input{width:15px;height:15px;accent-color:var(--orange);cursor:pointer}.blog-index-main{min-width:0}.blog-index-list{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:24px;display:grid}.blog-index-card{background:linear-gradient(160deg,#1b1310,#0d0806);border:1px solid #f3ddc91a;border-radius:16px;flex-direction:column;gap:16px;padding:22px;text-decoration:none;transition:border-color .2s,transform .2s;display:flex}.blog-index-card:hover{border-color:#e8461f66;transform:translateY(-3px)}.blog-index-cover{object-fit:cover;border-radius:12px;width:100%;height:180px}.blog-index-card-title{color:var(--cream);margin:0 0 8px;font-size:1.3rem;line-height:1.2}.blog-index-card-excerpt{color:#f3ddc999;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:.95rem;line-height:1.5;display:-webkit-box;overflow:hidden}.blog-index-card-tags{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.blog-index-card-tag{letter-spacing:.03em;color:#f3ddc999;background:#f3ddc90f;border:1px solid #f3ddc91f;border-radius:999px;padding:4px 12px;font-size:.72rem}@media (width<=900px){.blog-index-layout{grid-template-columns:1fr}.blog-index-sidebar{position:static}.blog-index-tag-list{flex-flow:wrap}.blog-index-tag-checkbox{background:#f3ddc90d;border:1px solid #f3ddc91f}}@media (width<=640px){.blog-index-page{padding:40px 20px 72px}.blog-index-title{font-size:2.6rem}.blog-index-search{width:100%;min-width:0}.blog-index-list{grid-template-columns:1fr}}.blog-comments{border-top:1px solid #f3ddc91f;margin-top:56px;padding-top:40px}.blog-comments-heading{text-transform:uppercase;color:var(--cream);margin:0 0 20px;font-family:Anton,sans-serif;font-size:1.4rem}.blog-comments-heading span{color:#f3ddc973;text-transform:none;font-family:Inter,sans-serif;font-size:1rem;font-weight:600}.blog-comments-empty{color:#f3ddc980;margin:0 0 28px;font-size:.92rem}.blog-comments-list{flex-direction:column;gap:16px;margin-bottom:36px;display:flex}.blog-comment{background:#f3ddc90d;border:1px solid #f3ddc91a;border-radius:12px;padding:16px 18px}.blog-comment-header{flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:6px;display:flex}.blog-comment-name{color:var(--cream);font-size:.95rem;font-weight:700}.blog-comment-designation{color:var(--orange);font-size:.78rem}.blog-comment-text{color:#f3ddc9d9;white-space:pre-wrap;margin:0 0 8px;font-size:.95rem;line-height:1.6}.blog-comment-date{color:#f3ddc966;font-size:.72rem}.blog-comment-form{background:#f3ddc90a;border:1px solid #f3ddc91a;border-radius:14px;flex-direction:column;gap:14px;padding:22px;display:flex}.blog-comment-form h3{text-transform:uppercase;color:var(--cream);margin:0;font-family:Anton,sans-serif;font-size:1.05rem}.blog-comment-form-hint{color:#f3ddc980;margin:-8px 0 0;font-size:.82rem;line-height:1.5}.blog-comment-form-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.blog-comment-form label{color:#f3ddc999;flex-direction:column;gap:6px;font-size:.8rem;display:flex}.blog-comment-form input,.blog-comment-form textarea{font:inherit;color:var(--cream);background:#00000040;border:1px solid #f3ddc926;border-radius:8px;outline:none;padding:10px 12px;transition:border-color .15s}.blog-comment-form input:focus,.blog-comment-form textarea:focus{border-color:var(--orange)}.blog-comment-form textarea{resize:vertical;min-height:100px}.blog-comment-error{color:var(--orange);margin:0;font-size:.85rem}.blog-comment-submit{background:var(--orange);color:var(--ink);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;border:none;border-radius:999px;align-self:flex-start;padding:10px 22px;font-size:.8rem;font-weight:700;transition:transform .15s,box-shadow .15s;box-shadow:0 8px 20px #e8461f4d}.blog-comment-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 26px #e8461f66}.blog-comment-submit:disabled{opacity:.6;cursor:default}@media (width<=640px){.blog-comment-form-row{grid-template-columns:1fr}}.blog-post-page{flex-direction:column;align-items:center;min-height:100vh;padding:48px 24px 96px;display:flex}.blog-back{color:#f3ddc9a6;letter-spacing:.02em;align-self:flex-start;width:100%;max-width:860px;margin:0 auto 32px;font-size:.85rem;text-decoration:none;transition:color .15s}.blog-back:hover{color:var(--orange)}.blog-status{color:#f3ddc999}.blog-status--error{color:var(--orange)}.blog-post{width:100%;max-width:860px}.blog-post-cover{object-fit:cover;border-radius:16px;width:100%;max-height:420px;margin-bottom:28px;box-shadow:0 20px 60px #00000080}.blog-eyebrow{letter-spacing:.2em;text-transform:uppercase;color:var(--orange);margin-bottom:10px;font-size:.72rem;font-weight:700;display:block}.blog-title{color:var(--cream);margin:0 0 18px;font-size:3rem;line-height:.98}.blog-tags{flex-wrap:wrap;gap:8px;margin-bottom:32px;display:flex}.blog-tag{letter-spacing:.04em;color:#f3ddc9bf;background:#f3ddc914;border:1px solid #f3ddc926;border-radius:999px;padding:5px 12px;font-size:.72rem}.blog-content{color:#f3ddc9e0;font-size:1.08rem;line-height:1.75}.blog-content p{margin:0 0 20px}.blog-content h2{text-transform:uppercase;color:var(--cream);margin:40px 0 16px;font-family:Anton,sans-serif;font-size:1.6rem}.blog-content h3{color:var(--cream);margin:32px 0 14px;font-size:1.25rem}.blog-content ul,.blog-content ol{margin:0 0 20px;padding-left:24px}.blog-content li{margin-bottom:8px}.blog-content a{color:var(--orange)}.blog-content img{border-radius:12px;max-width:100%;margin:8px 0 24px}.blog-content blockquote{border-left:3px solid var(--orange);color:#f3ddc9a6;margin:0 0 24px;padding-left:18px}.blog-content pre{background:#f3ddc90f;border-radius:10px;margin:0 0 24px;padding:16px;overflow-x:auto}.blog-content code{font-family:JetBrains Mono,ui-monospace,monospace;font-size:.9em}@media (width<=640px){.blog-title{font-size:2.1rem}}
