:root{--bg:#fff8fc;--surface:#fff;--surface-soft:#fff0f7;--text:#1f1624;--muted:#6f5c74;--line:#efcfe1;--accent:#e6509f;--accent-soft:#ffd6ea;--page-bg:linear-gradient(180deg, #fff8fc 0%, #fff 70%)}:root[data-theme=dark]{--bg:#0b0b0f;--surface:#15151d;--surface-soft:#1a1a26;--text:#f4f5ff;--muted:#b5b8cf;--line:#2f3247;--accent:#f4a4d2;--accent-soft:#2a2234;--page-bg:linear-gradient(180deg, #0b0b0f 0%, #12121a 70%)}*{box-sizing:border-box;cursor:none}html,body{background:var(--page-bg);color:var(--text);scrollbar-width:none;-ms-overflow-style:none;margin:0;padding:0;font-family:Manrope,Segoe UI,sans-serif}body{overflow-x:hidden}html::-webkit-scrollbar{display:none}body::-webkit-scrollbar{display:none}::-webkit-scrollbar{display:none}a{color:inherit}a,button{transition:color .2s}#root{min-height:100vh}.site{width:100%}.cursor{pointer-events:none;z-index:99;background:#e6509f14;border:1px solid #e6509f8c;border-radius:50%;width:22px;height:22px;transition:border-color .16s,background-color .16s;position:fixed;top:-100px;left:-100px;transform:translate(-50%,-50%)}.cursor.cursor-on-dark{background:#ffffff2e;border-color:#ffffffe6}.cursor.cursor-on-light{background:#18121f24;border-color:#18121fd9}.container{width:min(1200px,92%);margin:0 auto}.site-header{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fff8fcdb;border-radius:0;position:fixed;top:0;left:0;right:0;overflow:hidden}.nav{justify-content:space-between;align-items:center;min-height:74px;display:flex}.brand{letter-spacing:.08em;text-transform:uppercase;font-size:.9rem;font-weight:800;text-decoration:none}.menu{gap:1.25rem;display:flex}.menu a{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.74rem;font-weight:700;text-decoration:none}.menu a:hover,.menu-theme-toggle:hover{color:var(--accent)}.menu-theme-toggle{font:inherit;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);cursor:none;background:0 0;border:0;padding:0;font-size:.74rem;font-weight:700;text-decoration:none}.hero{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:92vh;padding:8.5rem 0 4rem;display:flex;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;z-index:0;opacity:.2;background-image:linear-gradient(#7858762e 1px,#0000 1px),linear-gradient(90deg,#7858762e 1px,#0000 1px);background-size:34px 34px;position:absolute;inset:0}.hero>*{z-index:1;position:relative}.hero-main{justify-content:center;align-items:center;gap:clamp(1rem,3vw,2.5rem);display:flex}.hero-lines{text-align:left;overflow:hidden}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:0;font-size:.75rem;font-weight:700}.hero h1{letter-spacing:-.03em;text-transform:uppercase;color:#2d1b2c;max-width:none;margin:0;font-size:clamp(2.6rem,10vw,9rem);line-height:.88}.hero-word--sierra{transform-origin:0;align-items:flex-end;gap:0;display:inline-flex}.hero-letter{transition:transform .32s,color .32s;display:inline-block;position:relative}.hero-letter:after{content:attr(data-acronym);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;color:var(--accent);opacity:0;pointer-events:none;font-size:clamp(.5rem,1vw,.72rem);transition:opacity .28s,transform .28s;position:absolute;top:100%;left:46%;transform:translate(-50%,.75rem)}.hero-word--sierra:hover .hero-letter{color:var(--accent);transform:translateY(-2px)}.hero-word--sierra:hover .hero-letter:first-child{transform:translate(0)translateY(-2px)}.hero-word--sierra:hover .hero-letter:nth-child(2){transform:translate(.28em)translateY(-2px)}.hero-word--sierra:hover .hero-letter:nth-child(3){transform:translate(.56em)translateY(-2px)}.hero-word--sierra:hover .hero-letter:nth-child(4){transform:translate(.84em)translateY(-2px)}.hero-word--sierra:hover .hero-letter:nth-child(5){transform:translate(1.12em)translateY(-2px)}.hero-word--sierra:hover .hero-letter:nth-child(6){transform:translate(1.4em)translateY(-2px)}.hero-word--sierra:hover .hero-letter:after{opacity:1;transform:translate(-50%,.25rem)}.hero-logo{aspect-ratio:1;border:1px solid var(--line);background:#fff;border-radius:14px;width:clamp(84px,14vw,170px);overflow:hidden}.hero-logo img{object-fit:contain;width:100%;height:100%;display:block}.marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#ffeef7;padding:.25rem 0;position:relative;overflow:hidden}.marquee:before,.marquee:after{content:"";z-index:2;pointer-events:none;width:8%;position:absolute;top:0;bottom:0}.marquee:before{background:linear-gradient(90deg,#ffeef7,#ffeef700);left:0}.marquee:after{background:linear-gradient(270deg,#ffeef7,#ffeef700);right:0}.marquee-inner{will-change:transform;width:max-content;animation:30s linear infinite ticker;display:flex}.marquee-track{gap:.9rem;width:max-content;padding:.55rem 0;display:flex}.marquee-row{overflow:hidden}.marquee-row.reverse .marquee-inner{animation-duration:34s;animation-direction:reverse}.marquee-track span{text-transform:none;letter-spacing:.02em;color:#5b3b58;white-space:nowrap;background:#fff4fa;border:1px solid #f0cee2;border-radius:999px;align-items:center;gap:.7rem;padding:.38rem .9rem;font-size:clamp(.9rem,1.8vw,1.1rem);font-weight:800;display:inline-flex}.marquee-track em{color:#d06ca3;font-style:normal;font-weight:900}@keyframes ticker{0%{transform:translate(0)}to{transform:translate(-50%)}}.intro-grid{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:1rem;padding:4rem 0;display:grid}.intro-grid article{border:1px solid var(--line);background:var(--surface);padding:1rem}.small-label{text-transform:uppercase;letter-spacing:.08em;color:#8f6f8f;margin-bottom:.5rem;font-size:.72rem}.split{border-bottom:1px solid var(--line);grid-template-columns:1.2fr 1fr;gap:2rem;padding:7rem 0;display:grid}.about-section{border-bottom:1px solid var(--line);flex-direction:column;gap:2rem;padding:7rem 0;display:flex}.about-intro{max-width:78ch}.about-resume-row{grid-template-columns:1.2fr 1fr;align-items:start;gap:2rem;display:grid}.about-bottom{gap:1.2rem;max-width:78ch;display:grid}h2{text-transform:uppercase;letter-spacing:-.01em;margin:0 0 1rem;font-size:clamp(1.6rem,5vw,3rem)}p{color:var(--muted);margin:0}.skills{flex-wrap:wrap;gap:.6rem;margin:1.2rem 0 0;padding:0;list-style:none;display:flex}.skills li{border:1px solid var(--line);background:var(--surface-soft);text-transform:uppercase;letter-spacing:.04em;color:#5e475d;padding:.45rem .72rem;font-size:.72rem;font-weight:700}.about-photo-wrap{background:0 0;border:none;border-radius:0;justify-self:stretch;place-items:center;width:100%;max-width:none;min-height:580px;margin:0;padding:.25rem 0 0;display:grid;overflow:visible}.about-photo-wrap .about-bottom{margin-top:1.2rem}.polaroid-stack{aspect-ratio:4/5;width:min(100%,460px);position:relative}.polaroid-card{opacity:0;transform-origin:50%;background:#fff;border:none;border-radius:6px;width:92%;height:92%;margin:auto;padding:12px 12px 44px;animation:1.7s ease-out forwards paused polaroidStackIn;position:absolute;inset:0;box-shadow:0 18px 36px #00000052}.polaroid-stack.in-view .polaroid-card{animation-play-state:running}.polaroid-card.card-1{z-index:3;width:86%;animation-delay:3.2s;transform:translateY(-2px)rotate(2deg)scale(.98)}.polaroid-card.card-2{z-index:2;width:86%;animation-delay:1.6s;transform:translate(-62px,30px)rotate(-7deg)scale(.96)}.polaroid-card.card-3{z-index:1;width:86%;animation-delay:0s;transform:translate(62px,30px)rotate(8deg)scale(.96)}.about-photo{object-fit:cover;border-radius:2px;width:100%;height:100%;display:block}@keyframes polaroidStackIn{0%{opacity:0;transform:translateY(26px)scale(.9)}to{opacity:1}}.resume-embed-wrap{scrollbar-width:none;-ms-overflow-style:none;background:#0b0b0b;border:none;border-radius:0;width:100%;margin:0;overflow:hidden}.resume-embed-wrap::-webkit-scrollbar{display:none}.resume-label{text-transform:uppercase;letter-spacing:.08em;color:#9d9d9d;border-bottom:none;margin:0;padding:.45rem 0 .6rem;font-size:.66rem}.resume-embed{pointer-events:none;background:#111;border:0;width:calc(100% + 18px);height:clamp(760px,82vh,980px);margin-right:-18px;display:block}.resume-download{text-transform:uppercase;letter-spacing:.06em;color:#f3f3f3;background:#141414;border:1px solid #383838;margin:.7rem;padding:.62rem .9rem;font-size:.7rem;font-weight:800;text-decoration:none;transition:transform .2s,border-color .2s;display:inline-flex}.resume-download:hover{color:var(--accent);border-color:#6a6a6a;transform:translateY(-2px)}.video-strip{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:1rem;padding:2rem 4%;display:grid}.video-panel{border:1px solid var(--line);min-height:50vh;overflow:hidden}.video-panel video{object-fit:cover;filter:saturate(1.05)contrast(1.03);width:100%;height:100%}.projects{border-bottom:1px solid var(--line);padding:7rem 0}.projects-head{gap:.75rem;max-width:78ch;margin-bottom:1.4rem;display:grid}.projects-head p{color:var(--muted)}.project-rows{gap:.75rem;display:grid}.project-row{border:1px solid var(--line);background:var(--surface-soft);border-radius:12px;grid-template-columns:1fr auto;align-items:center;gap:1rem;padding:1rem 1.1rem;text-decoration:none;transition:border-color .3s,transform .3s,background .3s,box-shadow .3s;display:grid;position:relative;overflow:hidden}.project-row:hover,.project-row.is-active{background:var(--surface-soft);z-index:12;border-color:#5f5f5f;transform:translateY(-2px);box-shadow:0 22px 45px #00000047}.project-row-main h3{text-transform:uppercase;letter-spacing:.02em;margin:.25rem 0 .35rem;font-size:clamp(1.1rem,2.5vw,1.5rem)}.project-row-main p{max-width:70ch}.project-row-meta{color:#bebebe;align-items:center;gap:1rem;font-weight:700;display:flex}.project-hover-preview{opacity:1;pointer-events:none;z-index:2;background:#0f0f0f;border:1px solid #2f2f2f;border-radius:14px;grid-column:1/-1;width:100%;max-height:0;margin-top:0;transition:max-height .38s,margin-top .3s,opacity .26s,transform .3s;position:relative;overflow:hidden;transform:scale(.98);box-shadow:0 18px 35px #0006}.project-row:hover .project-hover-preview,.project-row.is-active .project-hover-preview{max-height:min(68vh,680px);margin-top:.9rem;transform:scale(1)}.project-window{background:#fff;border:1px solid #efc8df;border-radius:12px;margin-bottom:.85rem;overflow:hidden;box-shadow:0 12px 20px #b74c831f}.window-bar{background:#fff3fa;border-bottom:1px solid #f3d6e7;align-items:center;gap:.4rem;height:28px;padding:0 .65rem;display:flex}.dot{border-radius:50%;width:10px;height:10px;display:inline-block}.dot.red{background:#ff5f57}.dot.yellow{background:#febc2e}.dot.green{background:#28c840}.project-media-card{background:#fff;min-height:min(62vh,620px);overflow:hidden}.project-media-card img{object-fit:cover;width:100%;height:100%;transition:transform .4s;display:block}.project-row:hover .project-media-card img,.project-row.is-active .project-media-card img{transform:scale(1.08)}.project-media-placeholder{text-align:center;color:#6a3f63;text-transform:uppercase;letter-spacing:.04em;background:linear-gradient(135deg,#ffe6f3,#f8ddf9);place-items:center;width:100%;height:100%;padding:1rem;font-size:.78rem;font-weight:800;display:grid}.project-highlights{color:#d3d3d3;gap:.2rem;margin:.4rem 0 0;padding-left:1rem;font-size:.88rem;display:grid}.project-highlights.detail{max-width:60ch;margin-bottom:1.2rem}.project-row .tag{text-transform:uppercase;letter-spacing:.08em;color:#a9a9a9;font-size:.68rem;font-weight:800}.project-page .tag{text-transform:uppercase;letter-spacing:.08em;color:#8f5d80;font-size:.68rem;font-weight:800}.view-project{text-transform:uppercase;letter-spacing:.06em;color:#f0f0f0;align-items:center;gap:.35rem;margin-top:.8rem;font-size:.68rem;font-weight:800;display:inline-flex}.experience{border-bottom:1px solid var(--line);padding:7rem 0}.experience-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.experience-list article{border:1px solid var(--line);background:var(--surface-soft);padding:1rem}.experience-list h3{text-transform:uppercase;margin:0 0 .5rem;font-size:1rem}.contact{text-align:center;padding:7rem 0}.contact a{color:#2d1b2c;font-weight:700;text-decoration:none}.contact a:hover{color:var(--accent)}.project-page{min-height:100vh;padding:9rem 0 4rem}.project-themed{background:var(--project-bg,#0f0f0f);color:var(--project-text,#f2f2f2)}.project-themed .tag{color:var(--project-muted,#bfbfbf)}.project-themed .project-title{color:var(--project-text,#f2f2f2)}.project-themed .project-long,.project-themed .project-highlights{color:var(--project-muted,#c8c8c8)}.project-themed .project-media{border-color:var(--project-border,#333);background:var(--project-panel,#171717)}.project-themed .project-media img{background:0 0}.project-themed .back-link{color:var(--project-text,#fff)}.project-title{text-transform:uppercase;margin:.4rem 0 1rem;font-size:clamp(2rem,8vw,5rem);line-height:.95}.project-long{max-width:70ch;margin-bottom:1.3rem}.project-media{border:1px solid var(--line);background:var(--surface);place-items:center;min-height:55vh;display:grid;overflow:hidden}.project-media img{object-fit:contain;background:#fff;width:100%;height:100%}.project-media.placeholder{background:linear-gradient(135deg,#ffdff0,#f6dffb)}.project-media.placeholder span{text-transform:uppercase;letter-spacing:.06em;color:#683f62;font-weight:800}.project-gallery{content-visibility:auto;contain-intrinsic-size:1000px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.8rem;margin-top:1rem;display:grid}.project-gallery-item{border:1px solid var(--project-border,var(--line));background:var(--project-panel,var(--surface));will-change:transform;min-height:180px;margin:0;overflow:hidden}.project-gallery-item img{object-fit:cover;width:100%;height:100%;display:block}.image-open-trigger{all:unset;cursor:none;width:100%;height:100%;display:block}.image-open-trigger img{object-fit:cover;width:100%;height:100%;transition:transform .28s;display:block}.image-open-trigger:hover img{transform:scale(1.06)}.image-modal-overlay{z-index:120;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0a0a0cb8;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.image-modal-window{background:0 0;border:none;border-radius:0;width:min(1280px,96vw);height:min(88vh,980px);position:relative;overflow:hidden;box-shadow:0 28px 80px #00000073}.image-modal-content{object-fit:contain;background:0 0;width:100%;height:100%;display:block}.viewer-nav{z-index:2;color:#fff;cursor:none;background:#00000073;border:0;border-radius:50%;place-items:center;width:42px;height:42px;font-size:1.5rem;line-height:1;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.viewer-prev{left:.8rem}.viewer-next{right:.8rem}.viewer-close{z-index:2;color:#fff;cursor:none;background:#00000073;border:0;border-radius:50%;place-items:center;width:38px;height:38px;font-size:1.4rem;line-height:1;display:grid;position:absolute;top:.8rem;right:.8rem}.project-docs{flex-wrap:wrap;gap:.6rem;margin-top:.9rem;display:flex}.project-docs a{color:var(--project-text,var(--text));border:1px solid var(--project-border,var(--line));background:var(--project-panel,var(--surface-soft));letter-spacing:.04em;text-transform:uppercase;padding:.5rem .72rem;font-size:.72rem;font-weight:700;text-decoration:none}.project-docs a:hover{opacity:.88;color:var(--accent)}.project-actions{margin-top:1.2rem}.back-link{text-transform:uppercase;letter-spacing:.06em;color:var(--accent);font-size:.74rem;font-weight:800;text-decoration:none}.back-link:hover{color:#b84583}.site-footer{border-top:1px solid var(--line);background:radial-gradient(circle at 15% 20%,#ffffff0f,#0000 42%),radial-gradient(circle at 85% 85%,#ffffff0a,#0000 40%),#0a0a0a;border-radius:0;padding:4rem 0 5rem;position:relative;overflow:hidden}.footer-layout{gap:1rem;display:grid}.footer-kicker{text-transform:uppercase;letter-spacing:.08em;color:#a9a9a9;font-size:.72rem}.footer-name{text-transform:uppercase;letter-spacing:-.03em;color:#f2f2f2;margin:0;font-size:clamp(2.4rem,12vw,8.2rem);line-height:.9}.footer-name span{color:#cfcfcf;display:block}.footer-links-grid{grid-template-columns:repeat(4,minmax(120px,1fr));gap:.7rem;margin-top:.6rem;display:grid}.footer-links-grid a{color:#ececec;text-transform:uppercase;letter-spacing:.06em;text-align:center;background:#131313;border:1px solid #2f2f2f;padding:.8rem;font-size:.72rem;font-weight:800;text-decoration:none;transition:transform .22s,border-color .22s}.footer-links-grid a:hover{color:var(--accent);border-color:#666;transform:translateY(-3px)}:root[data-theme=dark] .cursor{background:#f4a4d224;border-color:#f4a4d299}:root[data-theme=dark] .site-header{background:#0b0b0fe0}:root[data-theme=dark] .hero:before{background-image:linear-gradient(#8088b524 1px,#0000 1px),linear-gradient(90deg,#8088b524 1px,#0000 1px)}:root[data-theme=dark] .hero h1{color:var(--text)}:root[data-theme=dark] .hero-logo{background:var(--surface);border-color:var(--line)}:root[data-theme=dark] .marquee{background:#12121b}:root[data-theme=dark] .marquee:before{background:linear-gradient(90deg,#12121b,#12121b00)}:root[data-theme=dark] .marquee:after{background:linear-gradient(270deg,#12121b,#12121b00)}:root[data-theme=dark] .marquee-track span{color:#d8daee;background:#191a26;border-color:#33364d}:root[data-theme=dark] .marquee-track em,:root[data-theme=dark] .small-label,:root[data-theme=dark] .project-row .tag,:root[data-theme=dark] .project-page .tag{color:#a7add8}:root[data-theme=dark] .skills li{color:#d7dbff}:root[data-theme=dark] .about-photo-wrap{background:0 0}:root[data-theme=dark] .resume-embed-wrap{background:#0f1018}:root[data-theme=dark] .resume-label{color:#b5b8cf}:root[data-theme=dark] .resume-embed{background:#0f1018}:root[data-theme=dark] .resume-download{color:#f4f5ff;background:#1a1d2d;border-color:#3a3f61}:root[data-theme=dark] .resume-download:hover{color:var(--accent);border-color:#6a74b8}:root[data-theme=dark] .project-row:hover,:root[data-theme=dark] .project-row.is-active{border-color:#505681}:root[data-theme=dark] .project-row-meta,:root[data-theme=dark] .project-highlights{color:#c3c7e8}:root[data-theme=dark] .project-hover-preview,:root[data-theme=dark] .project-window{background:#131624;border-color:#3a3f61}:root[data-theme=dark] .window-bar{background:#1a1d2d;border-bottom-color:#32375a}:root[data-theme=dark] .project-media-card,:root[data-theme=dark] .project-media,:root[data-theme=dark] .project-themed .project-media{background:#121420}:root[data-theme=dark] .project-media-placeholder,:root[data-theme=dark] .project-media.placeholder{color:#d7dbff;background:linear-gradient(135deg,#1a1d2f,#232845)}:root[data-theme=dark] .view-project,:root[data-theme=dark] .contact a,:root[data-theme=dark] .back-link{color:#f4f5ff}:root[data-theme=dark] .contact a:hover,:root[data-theme=dark] .back-link:hover{color:#d3d8ff}:root[data-theme=dark] .site-footer{background:radial-gradient(circle at 15% 20%,#a7add81a,#0000 42%),radial-gradient(circle at 85% 85%,#a7add80f,#0000 40%),#0f1018}:root[data-theme=dark] .footer-kicker,:root[data-theme=dark] .footer-name span{color:#b5b8cf}:root[data-theme=dark] .footer-name{color:#f4f5ff}:root[data-theme=dark] .footer-links-grid a{color:#e6e9ff;background:#171929;border-color:#33364d}:root[data-theme=dark] .footer-links-grid a:hover{color:var(--accent);border-color:#6670b3}@media (width<=900px){*{cursor:auto}.cursor{display:none}.project-row{grid-template-columns:1fr;box-shadow:none!important;transform:none!important}.project-row-meta{justify-content:space-between}.project-hover-preview{display:none}.project-row:hover .project-hover-preview,.project-row.is-active .project-hover-preview{max-height:0;margin-top:0}.project-row:hover,.project-row.is-active{box-shadow:none;border-color:var(--line);transform:none}.project-row:hover .project-media-card img,.project-row.is-active .project-media-card img{transform:none}.intro-grid{grid-template-columns:1fr}.hero-main{flex-direction:column}.hero-lines{text-align:center}.hero{min-height:auto;padding:6.8rem 0 3rem}.split,.about-resume-row{grid-template-columns:1fr}.about-photo-wrap{max-width:420px;min-height:500px;margin:0 auto}.video-strip{grid-template-columns:1fr}.menu{flex-wrap:wrap;justify-content:flex-end;gap:.7rem}.menu a{font-size:.68rem}.menu-theme-toggle{cursor:pointer;font-size:.68rem}.resume-embed{height:clamp(520px,68vh,700px)}.footer-links-grid{grid-template-columns:repeat(2,minmax(120px,1fr))}.footer-name{font-size:clamp(2rem,16vw,4rem)}}
