.staggered-menu-wrapper{z-index:40;pointer-events:none;width:100%;height:100%;position:relative}.staggered-menu-wrapper.fixed-wrapper{z-index:40;width:100vw;height:100vh;position:fixed;top:0;left:0;overflow:hidden}.staggered-menu-header{pointer-events:none;z-index:20;background:0 0;justify-content:space-between;align-items:center;width:100%;padding:2em;display:flex;position:absolute;top:0;left:0}.staggered-menu-header>*{pointer-events:auto}.sm-logo{-webkit-user-select:none;user-select:none;align-items:center;display:flex}.sm-logo-img{object-fit:contain;width:auto;height:32px;display:block}.sm-toggle{cursor:pointer;color:#e9e9ef;background:0 0;border:none;align-items:center;gap:.3rem;font-weight:500;line-height:1;display:inline-flex;position:relative;overflow:visible}.sm-toggle:focus-visible{outline-offset:4px;border-radius:4px;outline:2px solid #fffa}.sm-line:last-of-type{margin-top:6px}.sm-toggle-textWrap{white-space:nowrap;height:1em;width:var(--sm-toggle-width,auto);min-width:var(--sm-toggle-width,auto);display:inline-block;position:relative;overflow:hidden}.sm-toggle-textInner{flex-direction:column;line-height:1;display:flex}.sm-toggle-line{height:1em;line-height:1;display:block}.sm-icon{will-change:transform;flex:0 0 14px;justify-content:center;align-items:center;width:14px;height:14px;display:inline-flex;position:relative}.sm-panel-itemWrap{line-height:1;position:relative;overflow:hidden}.sm-icon-line{will-change:transform;background:currentColor;border-radius:2px;width:100%;height:2px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sm-line{display:none!important}.staggered-menu-panel{-webkit-backdrop-filter:blur(12px);z-index:10;pointer-events:auto;opacity:0;background:#fef8e8;flex-direction:column;width:clamp(260px,38vw,420px);height:100%;padding:6em 2em 2em;display:flex;position:absolute;top:0;right:0;overflow-y:auto}[data-position=left] .staggered-menu-panel{left:0;right:auto}.sm-prelayers{pointer-events:none;z-index:5;opacity:0;width:clamp(260px,38vw,420px);position:absolute;top:0;bottom:0;right:0}[data-position=left] .sm-prelayers{left:0;right:auto}.sm-prelayer{opacity:0;width:100%;height:100%;position:absolute;top:0;right:0;transform:translate(0)}.sm-panel-inner{flex-direction:column;flex:1;gap:1.25rem;display:flex}.sm-avatar{justify-content:center;padding-bottom:.5rem;display:flex}.sm-avatar-ring{background:linear-gradient(135deg,#0a1a6e,#3a6adf,#7aaaf7);border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;padding:2px;display:flex}.sm-avatar-circle{background:#fef8e8;border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;display:flex;overflow:hidden}.sm-avatar-img{object-fit:cover;border-radius:50%;width:100%;height:100%}.sm-decor-line{width:100%;height:12px;margin-bottom:.5rem;display:block}.sm-item-decor{width:80%;height:4px;margin-top:.25rem;display:block}.sm-socials{flex-direction:column;gap:.75rem;margin-top:auto;padding-top:2rem;display:flex}.sm-socials-title{color:var(--sm-accent,red);margin:0;font-size:1rem;font-weight:500}.sm-socials-list{flex-flow:wrap;align-items:center;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.sm-socials-list .sm-socials-link{opacity:1}.sm-socials-list:hover .sm-socials-link{opacity:.35}.sm-socials-list:hover .sm-socials-link:hover{opacity:1}.sm-socials-link:focus-visible{outline:2px solid var(--sm-accent,red);outline-offset:3px}.sm-socials-list:focus-within .sm-socials-link{opacity:.35}.sm-socials-list:focus-within .sm-socials-link:focus-visible{opacity:1}.sm-socials-link{color:#0a1a6e;padding:2px 0;font-size:1.2rem;font-weight:500;text-decoration:none;transition:color .3s,opacity .3s;display:inline-block;position:relative}.sm-socials-link:hover{color:var(--sm-accent,red)}.sm-panel-title{color:#fff;text-transform:uppercase;margin:0;font-size:1rem;font-weight:600}.sm-panel-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.sm-panel-item{color:#0a1a6e;cursor:pointer;letter-spacing:-2px;text-transform:uppercase;padding-right:1.4em;font-size:3.5rem;font-weight:600;line-height:1;text-decoration:none;transition:background .25s,color .25s;display:inline-block;position:relative}.staggered-menu-panel .sm-socials-list .sm-socials-link{opacity:1;transition:opacity .3s}.staggered-menu-panel .sm-socials-list:hover .sm-socials-link:not(:hover),.staggered-menu-panel .sm-socials-list:focus-within .sm-socials-link:not(:focus-visible){opacity:.35}.staggered-menu-panel .sm-socials-list .sm-socials-link:hover,.staggered-menu-panel .sm-socials-list .sm-socials-link:focus-visible{opacity:1}.sm-panel-itemLabel{will-change:transform;transform-origin:50% 100%;display:inline-block}.sm-panel-item:hover{color:var(--sm-accent,#5227ff)}.sm-panel-list[data-numbering]{counter-reset:smItem}.sm-panel-list[data-numbering] .sm-panel-item:after{counter-increment:smItem;content:counter(smItem, decimal-leading-zero);color:var(--sm-num-color,#5227ff);letter-spacing:0;pointer-events:none;-webkit-user-select:none;user-select:none;opacity:var(--sm-num-opacity,0);font-size:18px;font-weight:400;position:absolute;top:.1em;right:2.8em}.sm-panel-list[data-numbering] .sm-panel-itemWrap:first-child .sm-panel-item:after{--sm-num-color:#0a1a6e}.sm-panel-list[data-numbering] .sm-panel-itemWrap:nth-child(2) .sm-panel-item:after{--sm-num-color:#1e3fa8}.sm-panel-list[data-numbering] .sm-panel-itemWrap:nth-child(3) .sm-panel-item:after{--sm-num-color:#3a6adf}.sm-panel-list[data-numbering] .sm-panel-itemWrap:nth-child(4) .sm-panel-item:after{--sm-num-color:#7aaaf7}@media (max-width:1024px){.staggered-menu-panel{width:100%;left:0;right:0}.staggered-menu-wrapper[data-open] .sm-logo-img{filter:invert()}}@media (max-width:640px){.staggered-menu-panel{width:100%;left:0;right:0}.staggered-menu-wrapper[data-open] .sm-logo-img{filter:invert()}}
.card-spotlight{--mouse-x:50%;--mouse-y:50%;--spotlight-color:#ffffff0d;background-color:#111;border:1px solid #222;border-radius:1.5rem;position:relative;overflow:hidden}.card-spotlight .spotlight-glow{background:radial-gradient(circle at var(--mouse-x) var(--mouse-y), var(--spotlight-color), transparent 50%);opacity:0;pointer-events:none;z-index:0;transition:opacity .4s;position:absolute;inset:0}.card-spotlight .spotlight-content{z-index:1;width:100%;height:100%;position:relative}.card-spotlight:hover .spotlight-glow,.card-spotlight.is-hovered .spotlight-glow,.card-spotlight:focus-within .spotlight-glow{opacity:1}
.tilt-image-container{width:100%;height:100%;transform-style:preserve-3d;cursor:pointer;will-change:transform;transition:transform .3s cubic-bezier(.16,1,.3,1);display:block;position:relative}.tilt-image-content{width:100%;height:100%;transform-style:preserve-3d}.tilt-image-content img{object-fit:cover;width:100%;height:100%;display:block}.tilt-image-glare{background:radial-gradient(circle at var(--glare-x,50%) var(--glare-y,50%), #ffffff4d, transparent 50%);opacity:0;pointer-events:none;z-index:10;mix-blend-mode:overlay;border-radius:inherit;transition:opacity .3s;position:absolute;inset:0}.tilt-image-container.is-tilting .tilt-image-glare{opacity:1}
.border-glow-card{--edge-proximity:0;--cursor-angle:45deg;--edge-sensitivity:30;--color-sensitivity:calc(var(--edge-sensitivity) + 20);--border-radius:28px;--glow-padding:40px;--cone-spread:25;border-radius:var(--border-radius);isolation:isolate;background:var(--card-bg,#120f17);border:1px solid #ffffff26;display:grid;position:relative;overflow:visible;transform:translateZ(.01px);box-shadow:0 1px 2px #0000001a,0 2px 4px #0000001a,0 4px 8px #0000001a,0 8px 16px #0000001a,0 16px 32px #0000001a,0 32px 64px #0000001a}.border-glow-card:before,.border-glow-card:after,.border-glow-card>.edge-light{content:"";border-radius:inherit;z-index:-1;pointer-events:none;transition:opacity .25s ease-out;position:absolute;inset:0}.border-glow-card:not(:hover):not(.sweep-active):before,.border-glow-card:not(:hover):not(.sweep-active):after,.border-glow-card:not(:hover):not(.sweep-active)>.edge-light{opacity:0;transition:opacity .75s ease-in-out}.border-glow-card:before{background:linear-gradient(var(--card-bg,#120f17) 0 100%) padding-box, linear-gradient(#fff0 0% 100%) border-box, var(--gradient-one,radial-gradient(at 80% 55%, #be85ff 0px, transparent 50%)) border-box, var(--gradient-two,radial-gradient(at 69% 34%, #ff7a93 0px, transparent 50%)) border-box, var(--gradient-three,radial-gradient(at 8% 6%, #8fffad 0px, transparent 50%)) border-box, var(--gradient-four,radial-gradient(at 41% 38%, #47daff 0px, transparent 50%)) border-box, var(--gradient-five,radial-gradient(at 86% 85%, #7af2ff 0px, transparent 50%)) border-box, var(--gradient-six,radial-gradient(at 82% 18%, #ffe74c 0px, transparent 50%)) border-box, var(--gradient-seven,radial-gradient(at 51% 4%, #ff8d70 0px, transparent 50%)) border-box, var(--gradient-base,linear-gradient(#c299ff 0 100%)) border-box;opacity:calc((var(--edge-proximity) - var(--color-sensitivity)) / (100 - var(--color-sensitivity)));-webkit-mask-image:conic-gradient(from var(--cursor-angle) at center, black calc(var(--cone-spread) * 1%), transparent calc((var(--cone-spread) + 15) * 1%), transparent calc((100 - var(--cone-spread) - 15) * 1%), black calc((100 - var(--cone-spread)) * 1%));mask-image:conic-gradient(from var(--cursor-angle) at center, black calc(var(--cone-spread) * 1%), transparent calc((var(--cone-spread) + 15) * 1%), transparent calc((100 - var(--cone-spread) - 15) * 1%), black calc((100 - var(--cone-spread)) * 1%));border:1px solid #0000}.border-glow-card:after{background:var(--gradient-one,radial-gradient(at 80% 55%, #be85ff 0px, transparent 50%)) padding-box, var(--gradient-two,radial-gradient(at 69% 34%, #ff7a93 0px, transparent 50%)) padding-box, var(--gradient-three,radial-gradient(at 8% 6%, #8fffad 0px, transparent 50%)) padding-box, var(--gradient-four,radial-gradient(at 41% 38%, #47daff 0px, transparent 50%)) padding-box, var(--gradient-five,radial-gradient(at 86% 85%, #7af2ff 0px, transparent 50%)) padding-box, var(--gradient-six,radial-gradient(at 82% 18%, #ffe74c 0px, transparent 50%)) padding-box, var(--gradient-seven,radial-gradient(at 51% 4%, #ff8d70 0px, transparent 50%)) padding-box, var(--gradient-base,linear-gradient(#c299ff 0 100%)) padding-box;-webkit-mask-image:linear-gradient(to bottom, black, black), radial-gradient(ellipse at 50% 50%, black 40%, transparent 65%), radial-gradient(ellipse at 66% 66%, black 5%, transparent 40%), radial-gradient(ellipse at 33% 33%, black 5%, transparent 40%), radial-gradient(ellipse at 66% 33%, black 5%, transparent 40%), radial-gradient(ellipse at 33% 66%, black 5%, transparent 40%), conic-gradient(from var(--cursor-angle) at center, transparent 5%, black 15%, black 85%, transparent 95%);mask-image:linear-gradient(to bottom, black, black), radial-gradient(ellipse at 50% 50%, black 40%, transparent 65%), radial-gradient(ellipse at 66% 66%, black 5%, transparent 40%), radial-gradient(ellipse at 33% 33%, black 5%, transparent 40%), radial-gradient(ellipse at 66% 33%, black 5%, transparent 40%), radial-gradient(ellipse at 33% 66%, black 5%, transparent 40%), conic-gradient(from var(--cursor-angle) at center, transparent 5%, black 15%, black 85%, transparent 95%);opacity:calc(var(--fill-opacity,.5) * (var(--edge-proximity) - var(--color-sensitivity)) / (100 - var(--color-sensitivity)));mix-blend-mode:soft-light;border:1px solid #0000;-webkit-mask-composite:source-out,source-over,source-over,source-over,source-over,source-over;mask-composite:subtract,add,add,add,add,add}.border-glow-card>.edge-light{inset:calc(var(--glow-padding) * -1);pointer-events:none;z-index:1;-webkit-mask-image:conic-gradient(from var(--cursor-angle) at center, black 2.5%, transparent 10%, transparent 90%, black 97.5%);mask-image:conic-gradient(from var(--cursor-angle) at center, black 2.5%, transparent 10%, transparent 90%, black 97.5%);opacity:calc((var(--edge-proximity) - var(--edge-sensitivity)) / (100 - var(--edge-sensitivity)));mix-blend-mode:plus-lighter}.border-glow-card>.edge-light:before{content:"";inset:var(--glow-padding);border-radius:inherit;box-shadow:inset 0 0 0 1px var(--glow-color,#f5daa3), inset 0 0 1px 0 var(--glow-color-60,#f5daa399), inset 0 0 3px 0 var(--glow-color-50,#f5daa380), inset 0 0 6px 0 var(--glow-color-40,#f5daa366), inset 0 0 15px 0 var(--glow-color-30,#f5daa34d), inset 0 0 25px 2px var(--glow-color-20,#f5daa333), inset 0 0 50px 2px var(--glow-color-10,#f5daa31a), 0 0 1px 0 var(--glow-color-60,#f5daa399), 0 0 3px 0 var(--glow-color-50,#f5daa380), 0 0 6px 0 var(--glow-color-40,#f5daa366), 0 0 15px 0 var(--glow-color-30,#f5daa34d), 0 0 25px 2px var(--glow-color-20,#f5daa333), 0 0 50px 2px var(--glow-color-10,#f5daa31a);position:absolute}.border-glow-inner{z-index:1;flex-direction:column;display:flex;position:relative;overflow:auto}
.narrative-section{position:relative;overflow:hidden}.narrative-section.is-anim-ready .narrative-reveal,.narrative-section.is-anim-ready .narrative-fade-slide,.narrative-section.is-anim-ready .narrative-stagger{opacity:0}.narrative-section.is-anim-ready .narrative-line{transform-origin:0;transform:scaleX(0)}.scroll-indicator{z-index:20;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;bottom:3vh;left:50%;transform:translate(-50%)}.scroll-indicator-text{letter-spacing:.2em;text-transform:uppercase;opacity:.6;font-size:.7rem;font-weight:300}.narrative-section-number{opacity:.06;color:#fef1d0;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:0;font-size:clamp(4rem,10vw,8rem);font-weight:900;line-height:1;position:absolute;top:-.5rem;left:5%}.narrative-section-inner{z-index:1;max-width:1280px;margin:0 auto;padding:8rem 2rem;position:relative}.narrative-section-label{letter-spacing:.3em;text-transform:uppercase;opacity:.5;margin-bottom:1rem;font-size:.75rem;font-weight:300}.narrative-section-title{margin-bottom:1.5rem;font-size:clamp(2rem,5vw,3.5rem);font-weight:800;line-height:1.2}.narrative-section-desc{opacity:.75;max-width:600px;margin-bottom:3rem;font-size:clamp(1rem,2vw,1.25rem);line-height:1.8}.narrative-divider{background:linear-gradient(90deg,#fef1d0,#0000);width:60px;height:2px;margin:0 auto}.narrative-line{background:linear-gradient(90deg,#0000,#fef1d066,#0000);width:100%;height:1px}.narrative-about-grid{grid-template-columns:1fr;gap:3rem;margin-top:3rem;display:grid}@media (min-width:768px){.narrative-about-grid{grid-template-columns:1fr 2fr;align-items:start;gap:4rem}}.narrative-about-visual{aspect-ratio:3/4;background:linear-gradient(135deg,#50447f33,#1e3a8a66);border-radius:16px;position:relative;overflow:hidden}.narrative-about-frame{pointer-events:none;z-index:2;border:1px solid #fef1d033;border-radius:12px;position:absolute;inset:12px}.narrative-about-avatar{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.narrative-about-tilt{border-radius:16px;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.narrative-about-tilt .narrative-about-avatar{object-fit:cover;width:100%;height:100%;position:static}.narrative-about-tag{color:#9ac0ff;opacity:.7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:3;background:#0a1a6e99;border-radius:4px;padding:.3rem .7rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem;position:absolute;bottom:1.5rem;left:1.5rem}.narrative-about-copy{flex-direction:column;gap:2.5rem;display:flex}.narrative-meta-title{letter-spacing:.3em;text-transform:uppercase;opacity:.5;margin-bottom:1rem;font-size:.75rem;font-weight:300}.narrative-tool-tags{flex-wrap:wrap;gap:.6rem;display:flex}.narrative-tool-tag{color:#fef1d0;background:#50447f1a;border:1px solid #9ac0ff4d;border-radius:999px;padding:.5rem 1rem;font-size:.85rem;transition:all .3s;display:inline-block}.narrative-tool-tag:hover{background:#50447f4d;border-color:#9ac0ff99}.narrative-stats{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.narrative-stat-spotlight{background-color:#0a1a6e4d!important;border-color:#fef1d01f!important;border-radius:12px!important}.narrative-stat-spotlight .spotlight-content{text-align:center;flex-direction:column;gap:.5rem;display:flex;padding:1.25rem 1rem!important}.narrative-stat-value{color:#fef1d0;font-size:clamp(1.5rem,3vw,2rem);font-weight:800;line-height:1}.narrative-stat-label{letter-spacing:.2em;text-transform:uppercase;opacity:.5;font-size:.7rem}.narrative-about-meta{border-top:1px solid #fef1d01a;grid-template-columns:1fr;gap:1rem;padding-top:1.5rem;display:grid}.narrative-about-meta>div{flex-direction:column;gap:.4rem;display:flex}.narrative-meta-label{letter-spacing:.3em;text-transform:uppercase;opacity:.5;font-size:.7rem;font-weight:300}.narrative-meta-value{color:#fef1d0;opacity:.9;font-size:1rem}.narrative-works-header{grid-template-columns:1fr;gap:1.5rem;margin-bottom:3rem;display:grid}@media (min-width:768px){.narrative-works-header{grid-template-columns:1fr 1fr;align-items:end;gap:4rem}}.narrative-works-lead{opacity:.7;max-width:480px;font-size:clamp(.95rem,1.8vw,1.15rem);line-height:1.8}.narrative-filters{flex-wrap:wrap;gap:.6rem;margin-bottom:2.5rem;display:flex}.narrative-filter{color:#fef1d0;cursor:pointer;background:0 0;border:1px solid #fef1d026;border-radius:999px;padding:.55rem 1.2rem;font-family:inherit;font-size:.85rem;transition:all .3s}.narrative-filter:hover{background:#50447f26;border-color:#fef1d066}.narrative-filter.is-active{color:#fef1d0;background:#50447f66;border-color:#9ac0ff99}.narrative-works{grid-template-columns:1fr;gap:1.5rem;display:grid}@media (min-width:640px){.narrative-works{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.narrative-works{grid-template-columns:repeat(3,1fr);gap:2rem}}.narrative-card-wrapper{opacity:0;animation:.7s cubic-bezier(.16,1,.3,1) forwards narrative-card-fade-in}.narrative-works>:first-child{animation-delay:50ms}.narrative-works>:nth-child(2){animation-delay:.15s}.narrative-works>:nth-child(3){animation-delay:.25s}.narrative-works>:nth-child(4){animation-delay:.35s}.narrative-works>:nth-child(5){animation-delay:.45s}.narrative-works>:nth-child(6){animation-delay:.55s}@keyframes narrative-card-fade-in{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.narrative-card{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:16px;flex-direction:column;gap:.7rem;padding:1.25rem;transition:transform .4s cubic-bezier(.16,1,.3,1);display:flex;position:relative}.narrative-card:hover{transform:translateY(-4px)}.narrative-card:focus-visible{outline-offset:2px;outline:2px solid #9ac0ff}.narrative-card-accent{opacity:0;background:linear-gradient(90deg,#0000,#9ac0ff,#0000);height:1px;transition:opacity .4s;position:absolute;top:0;left:1.5rem;right:1.5rem}.narrative-card:hover .narrative-card-accent{opacity:1}.narrative-card-cover{aspect-ratio:4/3;background:linear-gradient(135deg,#1e3a8a 0%,#50447f 100%);border-radius:10px;justify-content:center;align-items:center;margin-bottom:.5rem;display:flex;position:relative;overflow:hidden}.narrative-card-placeholder{color:#fef1d0;opacity:.5;text-align:center;letter-spacing:.1em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem}.narrative-card-placeholder code{opacity:.7;font-size:.65rem}.narrative-card-number{opacity:.18;color:#fef1d0;z-index:2;font-size:1.5rem;font-weight:900;line-height:1;position:absolute;top:1.4rem;right:1.4rem}.narrative-card-meta{color:#9ac0ff;opacity:.7;letter-spacing:.05em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem}.narrative-card-title{color:#fef1d0;font-size:1.2rem;font-weight:700;line-height:1.3}.narrative-card-desc{opacity:.65;flex:1;font-size:.85rem;line-height:1.6}.narrative-card-tags{flex-wrap:wrap;gap:.4rem;margin-top:.3rem;display:flex}.narrative-card-tag{color:#9ac0ff;letter-spacing:.05em;border:1px solid #9ac0ff40;border-radius:4px;padding:.2rem .6rem;font-size:.7rem;display:inline-block}.narrative-card-link{color:#fef1d0;opacity:.6;letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:.4rem;margin-top:.5rem;font-size:.8rem;transition:all .3s;display:inline-flex}.narrative-card-link svg{width:16px;height:16px;transition:transform .3s}.narrative-card:hover .narrative-card-link{opacity:1;color:#9ac0ff}.narrative-card:hover .narrative-card-link svg{transform:translate(4px)}.narrative-contact-lead{opacity:.7;max-width:560px;margin-bottom:3rem;font-size:clamp(.95rem,1.8vw,1.15rem);line-height:1.8}.narrative-contact{grid-template-columns:1fr;gap:1rem;max-width:720px;display:grid}@media (min-width:640px){.narrative-contact{grid-template-columns:repeat(2,1fr)}}.narrative-contact-item{color:#fef1d0;background:#0a1a6e4d;border:1px solid #fef1d01f;border-radius:12px;align-items:center;gap:1.25rem;padding:1.5rem;text-decoration:none;transition:all .4s cubic-bezier(.16,1,.3,1);display:flex}.narrative-contact-item:hover{background:#50447f40;border-color:#9ac0ff80;transform:translate(6px)}.narrative-contact-index{opacity:.4;color:#9ac0ff;min-width:1.5rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem;font-weight:700}.narrative-contact-body{flex-direction:column;flex:1;gap:.25rem;display:flex}.narrative-contact-label{letter-spacing:.3em;text-transform:uppercase;opacity:.5;font-size:.7rem;font-weight:300}.narrative-contact-value{color:#fef1d0;word-break:break-all;font-size:1rem;font-weight:600}.narrative-contact-hint{opacity:.5;margin-top:.2rem;font-size:.75rem}.narrative-contact-arrow{opacity:.4;flex-shrink:0;width:20px;height:20px;transition:all .3s}.narrative-contact-item:hover .narrative-contact-arrow{opacity:1;transform:translate(4px)}.narrative-contact-sign{color:#9ac0ff;opacity:.4;margin-top:3rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}.project-modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;pointer-events:none;background:#080b3dd9;justify-content:center;align-items:center;padding:1rem;transition:opacity .3s;display:flex;position:fixed;inset:0;overflow-y:auto}.project-modal-backdrop.is-open{opacity:1;pointer-events:auto}.project-modal-card{background:linear-gradient(#17273d 0%,#0a1a6e 100%);border:1px solid #fef1d026;border-radius:16px;width:100%;max-width:880px;max-height:calc(100vh - 2rem);padding:2.5rem;transition:transform .3s cubic-bezier(.16,1,.3,1);position:relative;overflow-y:auto;transform:translateY(20px)scale(.98)}.project-modal-backdrop.is-open .project-modal-card{transform:translateY(0)scale(1)}@media (min-width:768px){.project-modal-card{padding:3rem}}.project-modal-close{color:#fef1d0;cursor:pointer;z-index:2;background:#fef1d014;border:1px solid #fef1d026;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:all .3s;display:flex;position:absolute;top:1.25rem;right:1.25rem}.project-modal-close:hover{background:#fef1d026;border-color:#fef1d066;transform:rotate(90deg)}.project-modal-header{margin-bottom:2rem;padding-right:3rem}.project-modal-meta{color:#9ac0ff;opacity:.7;border:1px solid #9ac0ff40;border-radius:4px;margin-bottom:1rem;padding:.3rem .7rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem;display:inline-block}.project-modal-title{color:#fef1d0;margin-bottom:1rem;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:800;line-height:1.2}.project-modal-desc{opacity:.75;margin-bottom:1.5rem;font-size:1rem;line-height:1.8}.project-modal-tags{flex-wrap:wrap;gap:.5rem;display:flex}.project-modal-tag{color:#9ac0ff;border:1px solid #9ac0ff4d;border-radius:4px;padding:.25rem .7rem;font-size:.75rem;display:inline-block}.project-modal-gallery{grid-template-columns:1fr;gap:1rem;margin-bottom:2rem;display:grid}@media (min-width:640px){.project-modal-gallery{grid-template-columns:repeat(2,1fr)}}.project-modal-image{aspect-ratio:4/3;background:linear-gradient(135deg,#1e3a8a 0%,#50447f 100%);border-radius:10px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.project-modal-placeholder{color:#fef1d0;opacity:.5;text-align:center;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem}.project-modal-placeholder code{opacity:.7;word-break:break-all;padding:0 .5rem;font-size:.7rem;display:inline-block}.project-modal-notes{background:#0a1a6e80;border:1px solid #fef1d01a;border-radius:12px;padding:1.5rem}.project-modal-notes-title{color:#9ac0ff;opacity:.7;letter-spacing:.05em;margin-bottom:1rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem}.project-modal-notes-list{grid-template-columns:1fr;gap:.8rem;margin:0;display:grid}@media (min-width:640px){.project-modal-notes-list{grid-template-columns:repeat(3,1fr)}}.project-modal-note{flex-direction:column;gap:.3rem;display:flex}.project-modal-note dt{letter-spacing:.2em;text-transform:uppercase;opacity:.5;font-size:.7rem;font-weight:300}.project-modal-note dd{color:#fef1d0;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9rem}
