@import"https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,300..700;1,300..700&display=swap";.site-header{position:fixed;inset:0 0 auto;z-index:100;transition:background var(--tr),box-shadow var(--tr),backdrop-filter var(--tr)}.site-header.scrolled{background:#06060fd9;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 1px #ffffff0f}.hdr-inner{display:flex;align-items:center;justify-content:space-between;height:72px}.hdr-logo{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:10px}.hdr-logo img{height:44px;width:44px;object-fit:contain;filter:invert(1) brightness(1.8);opacity:.9;transition:opacity var(--tr),transform var(--tr),filter var(--tr)}.hdr-logo:hover img{filter:invert(1) brightness(2.2);opacity:1;transform:scale(1.05)}.hdr-nav{display:flex;align-items:center;gap:2rem}.hdr-link{font-size:.875rem;font-weight:600;letter-spacing:.04em;color:var(--text-2);position:relative;transition:color var(--tr)}.hdr-link:after{content:"";position:absolute;bottom:-4px;left:0;right:100%;height:1.5px;background:var(--accent);transition:right var(--tr)}.hdr-link:hover{color:var(--text-1)}.hdr-link:hover:after{right:0}.hdr-cta{padding:.55rem 1.4rem;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);border:1px solid rgba(255,140,0,.45);border-radius:100px;background:#ff8c000f;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:color var(--tr),border-color var(--tr),background var(--tr),box-shadow var(--tr)}.hdr-cta:hover{color:#0a0a0f;border-color:var(--accent);background:var(--accent);box-shadow:0 0 20px #ff8c0066}.hamburger{display:none;flex-direction:column;gap:5px;padding:6px;border-radius:6px;transition:background var(--tr)}.hamburger:hover{background:var(--surface-hov)}.hamburger span{display:block;width:22px;height:2px;background:var(--text-1);border-radius:2px;transition:transform var(--tr),opacity var(--tr),width var(--tr)}.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0;width:0}.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-nav{display:none;flex-direction:column;background:#06060ff7;border-top:0 solid transparent;max-height:0;overflow:hidden;padding:0;transform:translateY(-8px);opacity:0;pointer-events:none;transition:max-height var(--tr),opacity var(--tr),transform var(--tr),padding var(--tr),border-color var(--tr)}.mobile-nav.open{border-top-width:1px;border-top-color:var(--border);max-height:360px;padding:.5rem 0 1rem;opacity:1;transform:translateY(0);pointer-events:auto}.mob-link{padding:.85rem clamp(1.5rem,5vw,4rem);font-size:.9rem;font-weight:600;color:var(--text-2);letter-spacing:.04em;transition:color var(--tr),background var(--tr)}.mob-link:hover{color:var(--text-1);background:var(--surface)}.mob-cta{color:var(--accent);margin-top:.5rem}.mob-cta:hover{color:var(--accent-2)}@media (max-width: 820px){.hdr-nav{display:none}.hamburger,.mobile-nav{display:flex}}.hero{position:relative;min-height:min(900px,100svh);padding:110px 0 32px;overflow:hidden;display:flex;flex-direction:column}.hero-grid{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:100px 100px;opacity:.15;-webkit-mask-image:linear-gradient(to right,transparent 25%,black);mask-image:linear-gradient(to right,transparent 25%,black)}.hero-content{display:grid;grid-template-columns:1.25fr 1fr;gap:5rem;align-items:center;position:relative}.hero-copy{display:flex;flex-direction:column;align-items:flex-start;gap:0;min-width:0}.hero-greeting{display:flex;align-items:center;gap:.7rem;font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;margin:0 0 1.5rem;color:var(--text-2)}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex-shrink:0;box-shadow:0 0 0 5px #f9731617}.hero-name{font-size:clamp(3.5rem,6.7vw,6.2rem);letter-spacing:-.065em;line-height:.92;font-weight:600;margin:0 0 clamp(2.25rem,3.2vw,3rem)}.hero-name-accent{display:block;color:var(--accent)}.hero-statement{font-size:clamp(1.2rem,2.2vw,1.7rem);line-height:1.35;letter-spacing:-.03em;margin:0 0 1.5rem}.hero-bio{font-size:.9rem;color:var(--text-2);max-width:470px;margin:0 0 2rem}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem}.hero-links{display:flex;gap:1.5rem;margin-top:1.75rem;font-size:.75rem;color:var(--text-2)}.hero-links a:hover{color:var(--accent)}.hero-visual{position:relative;padding:15px 0 35px}.portrait-frame{position:relative;aspect-ratio:4 / 4.7;border-radius:8px 80px 8px 8px;overflow:hidden;background:var(--bg-2)}.hero-portrait{width:100%;height:100%;object-fit:cover;object-position:center 35%;filter:saturate(.7);transition:filter .5s}.portrait-frame:hover .hero-portrait{filter:saturate(1)}.portrait-caption{position:absolute;inset:auto 0 0;padding:4rem 1.5rem 1.5rem;display:flex;justify-content:space-between;gap:1rem;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;background:linear-gradient(transparent,#111e);color:#fff}.hero-work-note{position:absolute;bottom:0;left:-30px;display:flex;align-items:center;gap:1.2rem;background:#252722;border:1px solid #ffffff20;padding:1.2rem 1.5rem;border-radius:10px;box-shadow:0 16px 40px #0005;transition:translate .2s,border-color .2s}.hero-work-note:hover{translate:0 -5px;border-color:var(--accent)}.hero-work-note span:nth-child(2){font-size:.65rem;color:var(--text-2)}.hero-work-note strong{display:block;font-size:.85rem;color:var(--text-1);margin-top:.2rem;font-weight:500}.portrait-index{position:absolute;right:0;top:-15px;font-size:.6rem;letter-spacing:.18em;color:var(--text-3)}.hero-bottom{position:relative;display:flex;justify-content:space-between;gap:1rem;margin-top:auto;padding-top:2rem;color:var(--text-3);font-size:.65rem;letter-spacing:.05em}.hero-bottom a{color:var(--text-2)}.hero-bottom a span{color:var(--accent);margin-left:1rem}@media (min-width: 1500px){.hero{min-height:850px}}@media (max-width: 900px){.hero-content{gap:3rem}.hero-work-note{left:-15px;padding:1rem;gap:.7rem}}@media (max-width: 700px){.hero{min-height:auto;padding:96px 0 40px}.hero-content{grid-template-columns:1fr;gap:3.5rem}.hero-name{font-size:clamp(3.65rem,16vw,5.4rem);margin-bottom:2rem}.hero-statement{margin-bottom:1.25rem}.hero-bio{margin-bottom:1.75rem}.hero-visual{max-width:420px;width:100%;margin:auto;padding:0 0 25px 12px}.portrait-frame{aspect-ratio:4 / 3.7}.hero-work-note{left:0}.hero-bottom{margin-top:2.5rem}.hero-bottom>span{max-width:170px}}@media (max-width: 420px){.hero-name{font-size:clamp(3.25rem,16vw,4.25rem)}.hero-actions{width:100%}.hero-actions .btn{justify-content:center;flex:1 1 140px}}.about{background:var(--bg-2)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}.about-text{opacity:0;transform:translate(-24px);transition:opacity .45s var(--ease),transform .45s var(--ease)}.about-grid.in-view .about-text{opacity:1;transform:translate(0)}.about-text .section-title{margin-top:.25rem}.about-text p{color:var(--text-2);font-size:.95rem;line-height:1.85;margin-top:1.25rem}.about-cv-btn{margin-top:2rem}.about-right{display:flex;flex-direction:column;gap:2rem;opacity:0;transform:translate(24px);transition:opacity .45s .08s var(--ease),transform .45s .08s var(--ease)}.about-grid.in-view .about-right{opacity:1;transform:translate(0)}.about-img-wrap{position:relative;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:4 / 3}.about-img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-lg);filter:grayscale(20%);transition:filter var(--tr)}.about-img-wrap:hover .about-img{filter:grayscale(0%)}.about-img-glow{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,transparent 60%,rgba(249,115,22,.15));pointer-events:none;border-radius:var(--radius-lg)}.about-stats{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.25rem;display:flex;flex-direction:column;gap:.3rem;transition:border-color var(--tr),background var(--tr)}.stat-card:hover{border-color:var(--accent);background:var(--accent-glow)}.stat-value{font-family:Futura,Noto Sans,sans-serif;font-size:2rem;font-weight:700;color:var(--accent);line-height:1}.stat-label{font-size:.8rem;color:var(--text-2);letter-spacing:.03em}@media (max-width: 900px){.about-grid{grid-template-columns:1fr;gap:3rem}.about-right{flex-direction:row;flex-wrap:wrap}.about-img-wrap{flex:1;min-width:200px;max-width:360px}.about-stats{flex:1;min-width:200px}}@media (max-width: 500px){.about-right{flex-direction:column}.about-img-wrap{max-width:100%}.about-stats{grid-template-columns:1fr 1fr}}.timeline-section{background:var(--bg)}.tl-header{margin-bottom:3.5rem}.tl-columns{display:grid;grid-template-columns:1fr 1fr;gap:4rem}.tl-col-header{display:flex;align-items:center;gap:.6rem;font-family:Futura,Noto Sans,sans-serif;font-size:1rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-2);margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.tl-col-header svg{color:var(--accent);flex-shrink:0}.tl-track{position:relative;display:flex;flex-direction:column;gap:0}.tl-track:before{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:1.5px;background:linear-gradient(to bottom,var(--accent) 0%,transparent 100%)}.tl-item{position:relative;display:flex;gap:1.5rem;padding-bottom:2.5rem}.tl-item:last-child{padding-bottom:0}.tl-dot{flex-shrink:0;width:15px;height:15px;border-radius:50%;background:var(--bg);border:2px solid var(--accent);margin-top:5px;position:relative;z-index:1;transition:background var(--tr),box-shadow var(--tr)}.tl-item:hover .tl-dot{background:var(--accent);box-shadow:0 0 12px var(--accent-glow)}.tl-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.25rem 1.5rem;flex:1;transition:border-color var(--tr),background var(--tr),transform var(--tr)}.tl-item:hover .tl-card{border-color:#f973164d;background:var(--surface-hov);transform:translate(4px)}.tl-meta{margin-bottom:.4rem}.tl-period{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.tl-title{font-size:1.05rem;font-weight:700;color:var(--text-1);margin-bottom:.2rem}.tl-sub{font-size:.85rem;color:var(--text-2);font-weight:600;margin-bottom:.75rem}.tl-desc{font-size:.85rem;color:var(--text-3);line-height:1.65}.tl-columns .fade-up{opacity:0;transform:translateY(20px)}.tl-columns.in-view .fade-up{opacity:1;transform:translateY(0);transition:opacity .4s var(--ease),transform .4s var(--ease)}@media (max-width: 780px){.tl-columns{grid-template-columns:1fr;gap:3rem}}.skills{background:var(--bg-2)}.skills-body{display:flex;flex-direction:column;gap:3.5rem}.skills-group-label{display:flex;align-items:center;gap:.6rem;font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-2);margin-bottom:1.5rem}.skills-group-label svg{color:var(--accent)}.skill-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:1rem}.skill-card{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);cursor:default;transition:border-color var(--tr),background var(--tr),transform var(--tr),box-shadow var(--tr)}.skill-card:hover{border-color:var(--skill-color, var(--accent));background:#ffffff0f;transform:translateY(-4px);box-shadow:0 12px 32px #0000004d}.skill-icon{width:40px;height:40px;color:var(--text-2);transition:color var(--tr),transform var(--tr);display:flex;align-items:center;justify-content:center}.skill-icon svg{width:100%;height:100%}.skill-card:hover .skill-icon{color:var(--skill-color, var(--accent));transform:scale(1.15)}.skill-name{font-size:.78rem;font-weight:700;letter-spacing:.04em;color:var(--text-2);text-align:center;line-height:1.3;transition:color var(--tr)}.skill-card:hover .skill-name{color:var(--text-1)}.skills-body .fade-up{opacity:0;transform:translateY(20px)}.skills-body.in-view .fade-up{opacity:1;transform:translateY(0);transition:opacity .4s var(--ease),transform .4s var(--ease)}@media (max-width: 500px){.skill-grid{grid-template-columns:repeat(3,1fr)}}.equipment-section{background:var(--bg-2)}.eq-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.eq-card{display:flex;flex-direction:column;gap:1.5rem;padding:1.75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color var(--tr),background var(--tr),transform var(--tr),box-shadow var(--tr)}.eq-card:hover{border-color:var(--eq-accent, var(--accent));background:#ffffff0d;transform:translateY(-6px);box-shadow:0 16px 40px #00000059}.eq-top{display:flex;align-items:center;justify-content:space-between}.eq-device-icon{width:52px;height:52px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:#ffffff0a;border:1px solid var(--border);color:var(--eq-accent, var(--accent));transition:color var(--tr),background var(--tr),transform var(--tr)}.eq-card:hover .eq-device-icon{background:#ffffff14;transform:scale(1.08)}.eq-brand{display:flex;align-items:center;gap:.35rem;padding:.3rem .75rem;border-radius:999px;border:1px solid var(--border);background:var(--surface);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);transition:border-color var(--tr),color var(--tr)}.eq-card:hover .eq-brand{border-color:var(--eq-accent, var(--accent));color:var(--eq-accent, var(--accent))}.eq-body{display:flex;flex-direction:column;gap:.4rem;flex:1}.eq-category{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--eq-accent, var(--accent))}.eq-name{font-size:1.15rem;font-weight:700;color:var(--text-1);line-height:1.25;margin:.1rem 0 .5rem}.eq-desc{font-size:.85rem;color:var(--text-3);line-height:1.65;margin:0}.eq-grid .fade-up{opacity:0;transform:translateY(20px)}.eq-grid.in-view .fade-up{opacity:1;transform:translateY(0);transition:opacity .4s var(--ease),transform .4s var(--ease)}@media (max-width: 900px){.eq-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 560px){.eq-grid{grid-template-columns:1fr}}.projects-section{background:var(--bg);border-top:1px solid var(--border);position:relative}.projects-horizontal .projects-section{padding:0!important;border-top:none;overflow:clip;width:100%;height:100svh;max-height:100svh}.projects-horizontal .project-pin-stage{width:100%;height:100svh;min-height:100svh;max-height:100svh;display:flex;flex-direction:column;justify-content:space-between;padding:calc(82px + clamp(1.8rem,4vh,3rem)) clamp(1.5rem,4vw,4.5rem) clamp(1rem,2.5vh,1.8rem);box-sizing:border-box;overflow:hidden}.projects-horizontal .project-stage-inner{width:100%;height:100%;max-width:1560px;margin:0 auto;padding:0;display:flex;flex-direction:column;justify-content:space-between;min-height:0}.project-heading-bar{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;width:100%;flex-shrink:0;padding-bottom:.75rem;margin-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.08)}.project-heading-left{display:flex;align-items:baseline;gap:1.25rem}.project-heading-bar .section-tag{color:var(--accent);font-size:.68rem;letter-spacing:.16em;font-weight:600;text-transform:uppercase}.project-heading-bar .section-title{font-size:clamp(1.4rem,2.2vw,1.85rem);font-weight:600;margin:0;line-height:1.15}.project-rail-controls{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.project-rail-controls button{min-height:34px;padding:.35rem .75rem;color:var(--text-2);background:#ffffff08;border:1px solid var(--border);border-radius:8px;font-size:.72rem;font-weight:500;cursor:pointer;transition:background .2s,color .2s,border-color .2s}.project-rail-controls button span{opacity:.6;margin-right:.35rem;font-family:monospace}.project-rail-controls button:hover,.project-rail-controls button.is-current{background:var(--accent);color:#171916;border-color:var(--accent);font-weight:600}.project-rail-controls button.is-current span{opacity:.9}.projects-horizontal .project-viewport{overflow:clip;flex:1;min-height:0;display:flex;align-items:center;width:100%;padding-block:.4rem}.projects-horizontal .project-grid{display:flex;gap:clamp(3rem,6vw,7rem);position:relative;align-items:stretch;height:100%;width:100%}.projects-horizontal .project-card{flex:0 0 100%;width:100%;height:100%;min-width:0;display:flex;align-items:center;box-sizing:border-box;padding-inline:clamp(.5rem,1.5vw,1.5rem)}.projects-horizontal .project-card-inner{display:grid;grid-template-columns:minmax(320px,.88fr) minmax(420px,1.12fr);gap:clamp(2rem,4vw,4rem);align-items:center;width:100%;height:100%;margin:0 auto;position:relative;overflow:hidden;background:#161815d1;border:1px solid rgba(255,255,255,.12);border-radius:26px;padding:clamp(1.4rem,2.8vw,2.6rem);box-shadow:0 30px 90px #000000b3,inset 0 1px #ffffff14;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:border-color .4s ease,box-shadow .4s ease}.projects-horizontal .project-card:hover .project-card-inner{border-color:#fff3;box-shadow:0 35px 110px #000c,0 0 40px rgba(var(--proj-accent, 255, 153, 94),.08)}.projects-horizontal .project-watermark{position:absolute;left:2%;bottom:-1.2rem;font-size:clamp(8rem,15vw,14rem);font-family:monospace;font-weight:800;color:#fff;opacity:.028;pointer-events:none;z-index:0;line-height:1;-webkit-user-select:none;user-select:none}.projects-horizontal .project-info-pane{display:flex;flex-direction:column;justify-content:center;gap:1.1rem;max-width:600px;position:relative;z-index:1}.projects-horizontal .project-info-header{display:flex;flex-direction:column;gap:.45rem}.projects-horizontal .project-badge-row{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.projects-horizontal .project-slide-number{font-family:monospace;font-size:.75rem;font-weight:700;color:var(--proj-accent, var(--accent));background:#ffffff0f;border:1px solid rgba(255,255,255,.15);padding:.15rem .5rem;border-radius:6px}.projects-horizontal .proj-category{color:var(--text-3);font-size:.66rem;text-transform:uppercase;letter-spacing:.14em;font-weight:600}.projects-horizontal .project-current-badge{display:inline-flex;align-items:center;gap:.4rem;font-size:.66rem;color:var(--proj-accent, var(--accent));background:#ffffff0a;border:1px solid var(--border);padding:.15rem .55rem;border-radius:999px}.projects-horizontal .project-current-badge .status-dot{width:5px;height:5px;background:var(--proj-accent, var(--accent));box-shadow:none}.projects-horizontal .project-title{font-size:clamp(2rem,3.4vw,3.2rem);font-weight:600;letter-spacing:-.04em;line-height:1.1;margin:0;color:var(--text-1)}.projects-horizontal .project-tagline{font-size:clamp(.95rem,1.25vw,1.15rem);color:var(--proj-accent, var(--accent));font-weight:500;margin:0;line-height:1.35}.projects-horizontal .project-description{font-size:clamp(.82rem,.95vw,.94rem);color:var(--text-2);line-height:1.65;margin:0}.projects-horizontal .project-actions-row{display:flex;align-items:center;gap:.8rem;margin-top:.35rem;flex-wrap:wrap}.projects-horizontal .project-actions-row .btn{padding:.7rem 1.3rem;font-size:.8rem;font-weight:600;border-radius:8px}.projects-horizontal .project-actions-row .btn-ghost{border:1px solid var(--border);background:#ffffff0a;color:var(--text-1)}.projects-horizontal .project-actions-row .btn-ghost:hover{background:var(--surface-hov);border-color:var(--proj-accent, var(--accent));color:var(--proj-accent, var(--accent))}.projects-horizontal .project-media-pane{display:flex;align-items:center;justify-content:center;height:100%;width:100%;position:relative;z-index:1}.projects-horizontal .project-media-btn{width:100%;height:auto;border:none;background:transparent;padding:0;cursor:pointer;text-align:left;border-radius:18px;outline-offset:4px;display:block}.projects-horizontal .project-art{position:relative;width:100%;aspect-ratio:16 / 9;max-height:calc(100svh - 260px);border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.14);box-shadow:0 20px 60px #00000080,inset 0 0 0 1px #ffffff0d;background:var(--bg-2);isolation:isolate;transition:transform .4s cubic-bezier(.2,.8,.2,1),border-color .3s,box-shadow .4s}.projects-horizontal .project-media-btn:hover .project-art{border-color:var(--proj-accent, var(--accent));box-shadow:0 25px 80px #000000b3,0 0 35px #ff995e26}.projects-horizontal .project-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .6s cubic-bezier(.2,.8,.2,1);will-change:transform;z-index:0}.projects-horizontal .project-media-btn:hover .project-image{transform:scale(1.04)}.projects-horizontal .project-art-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#06060f4d,#06060f05,#06060fa6);pointer-events:none;z-index:1;transition:opacity .4s ease}.projects-horizontal .project-media-btn:hover .project-art-overlay{opacity:.8}.project-art-brand-badge{position:absolute;top:1rem;left:1rem;display:flex;align-items:center;gap:.5rem;background:#080908d9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.18);padding:.35rem .85rem;border-radius:999px;font-size:.72rem;font-weight:700;color:#fff;letter-spacing:.05em;z-index:3;box-shadow:0 4px 14px #00000073}.project-art-brand-badge .brand-dot{width:7px;height:7px;border-radius:50%;background:var(--proj-accent, var(--accent));box-shadow:0 0 8px var(--proj-accent, var(--accent))}.projects-horizontal .project-art-floating-meta{position:absolute;inset:auto 1.25rem 1.25rem 1.25rem;display:flex;align-items:center;justify-content:space-between;z-index:2;pointer-events:none}.projects-horizontal .project-art-chip{font-size:.68rem;letter-spacing:.08em;font-weight:600;color:#fff;background:#06060fbf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15);padding:.35rem .75rem;border-radius:999px;text-transform:uppercase}.projects-horizontal .project-arrow-badge{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#06060fbf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2);color:#fff;font-size:1.1rem;transition:all .3s}.projects-horizontal .project-media-btn:hover .project-arrow-badge{background:var(--proj-accent, var(--accent));color:#171916;border-color:var(--proj-accent, var(--accent));transform:rotate(45deg) scale(1.08);box-shadow:0 4px 16px #f9731666}.project-art-gopanora{background:#161b19}.project-art-bobalicious{background:#1e151b}.project-art-ss-construction{background:#081719}.project-art-ss-travels{background:#07282e}.project-art-ss-bakery{background:#261710}.projects-horizontal .project-travel-progress{display:block;height:3px;background:var(--border);border-radius:2px;overflow:hidden;width:100%;flex-shrink:0;margin-top:.5rem}.projects-horizontal .project-travel-progress span{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left;background:var(--accent);will-change:transform;transition:transform .1s linear}@media (max-height: 760px) and (min-width: 901px){.projects-horizontal .project-pin-stage{padding:calc(72px + 1.2rem) clamp(1.2rem,3vw,3rem) .5rem}.projects-horizontal .project-heading-bar{padding-bottom:.35rem;margin-bottom:.25rem}.projects-horizontal .project-heading-bar .section-title{font-size:1.4rem}.projects-horizontal .project-rail-controls button{min-height:30px;padding:.25rem .6rem;font-size:.66rem}.projects-horizontal .project-card-inner{padding:clamp(1rem,2vw,1.6rem);border-radius:20px}.projects-horizontal .project-title{font-size:1.85rem}.projects-horizontal .project-tagline{font-size:.95rem}.projects-horizontal .project-description{font-size:.8rem;line-height:1.5}.projects-horizontal .project-info-pane{gap:.75rem}.projects-horizontal .project-art{max-height:calc(100svh - 220px)}}.portfolio:not(.projects-horizontal) .projects-section{padding-block:clamp(3.5rem,6vw,5rem)!important}.portfolio:not(.projects-horizontal) .project-pin-stage{width:100%}.portfolio:not(.projects-horizontal) .project-stage-inner{width:100%;max-width:var(--max-w);margin:0 auto;padding:0 clamp(1.5rem,5vw,4rem)}.portfolio:not(.projects-horizontal) .project-heading-bar{display:flex;flex-direction:column;align-items:flex-start;gap:1.5rem;margin-bottom:2.5rem;border-bottom:none;padding-bottom:0}.portfolio:not(.projects-horizontal) .project-heading-left{flex-direction:column;gap:.4rem}.portfolio:not(.projects-horizontal) .project-rail-controls{display:none}.portfolio:not(.projects-horizontal) .project-viewport{width:100%}.portfolio:not(.projects-horizontal) .project-grid{display:grid;grid-template-columns:1fr;gap:3.5rem}.portfolio:not(.projects-horizontal) .project-card-inner{display:flex;flex-direction:column;gap:1.5rem;background:#161815a6;border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:1.5rem}.portfolio:not(.projects-horizontal) .project-watermark{display:none}.portfolio:not(.projects-horizontal) .project-info-pane{display:flex;flex-direction:column;gap:.85rem}.portfolio:not(.projects-horizontal) .project-badge-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.portfolio:not(.projects-horizontal) .project-slide-number{font-family:monospace;font-size:.72rem;font-weight:700;color:var(--proj-accent, var(--accent));background:#ff995e1f;border:1px solid rgba(255,153,94,.3);padding:.15rem .5rem;border-radius:6px}.portfolio:not(.projects-horizontal) .project-title{font-size:clamp(1.7rem,4vw,2.4rem);font-weight:600;margin:0}.portfolio:not(.projects-horizontal) .project-tagline{font-size:1rem;color:var(--proj-accent, var(--accent));font-weight:500;margin:0}.portfolio:not(.projects-horizontal) .project-description{font-size:.9rem;color:var(--text-2);line-height:1.7;margin:0}.portfolio:not(.projects-horizontal) .project-actions-row{display:flex;align-items:center;gap:.8rem;margin-top:.5rem;flex-wrap:wrap}.portfolio:not(.projects-horizontal) .project-media-btn{width:100%;border:none;background:transparent;padding:0;cursor:pointer;display:block}.portfolio:not(.projects-horizontal) .project-art{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:14px;overflow:hidden;border:1px solid var(--border);background:var(--bg-2)}.portfolio:not(.projects-horizontal) .project-image{width:100%;height:100%;object-fit:cover;display:block}.portfolio:not(.projects-horizontal) .project-art-floating-meta{position:absolute;inset:auto 1rem 1rem 1rem;display:flex;align-items:center;justify-content:space-between;z-index:2;pointer-events:none}.portfolio:not(.projects-horizontal) .project-art-chip{font-size:.65rem;letter-spacing:.08em;font-weight:600;color:#fff;background:#06060fbf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15);padding:.3rem .65rem;border-radius:999px;text-transform:uppercase}.portfolio:not(.projects-horizontal) .project-arrow-badge{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#06060fbf;color:#fff;font-size:1rem}.portfolio:not(.projects-horizontal) .project-travel-progress{display:none}.project-pos-container{padding-block:2.5rem 3.5rem}.project-pos-note{padding:1.4rem 1.6rem;border:1px solid var(--border);border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--surface);transition:background .25s,border-color .25s,transform .25s}.project-pos-note:hover{background:var(--surface-hov);border-color:var(--accent);transform:translateY(-2px)}.project-pos-note .section-tag{display:block;font-size:.62rem;margin-bottom:.3rem;color:var(--accent);text-transform:uppercase;letter-spacing:.12em}.project-pos-note strong{font-weight:500;font-size:.95rem;color:var(--text-1)}.project-pos-note>span:last-child{font-size:1.4rem;color:var(--accent);transition:transform .25s}.project-pos-note:hover>span:last-child{transform:translate(3px,-3px)}.project-dialog{position:fixed;margin:auto;width:min(640px,calc(100% - 32px));max-height:calc(100svh - 48px);overflow-y:auto;padding:clamp(1.5rem,5vw,2.5rem);background:#131412;border:1px solid rgba(255,255,255,.12);color:var(--text-1);border-radius:20px;box-shadow:0 30px 120px #000000d9}.project-dialog::backdrop{background:#050706d9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.dialog-image-wrap{width:100%;aspect-ratio:16 / 9;border-radius:12px;overflow:hidden;margin-top:.75rem;margin-bottom:1.5rem;border:1px solid rgba(255,255,255,.12);background:var(--bg-2)}.dialog-image{width:100%;height:100%;object-fit:cover;display:block}.project-dialog h2{font-size:clamp(1.8rem,4vw,2.4rem);margin:.4rem 0 1.2rem}.project-dialog p{color:var(--text-2);line-height:1.8;font-size:.92rem}.dialog-close{position:absolute;top:.8rem;right:.9rem;width:40px;height:40px;font-size:1.6rem;color:var(--text-2);border-radius:50%;display:grid;place-items:center;z-index:10;background:#ffffff0f;border:none;cursor:pointer;transition:background .2s,color .2s}.dialog-close:hover{background:var(--surface-hov);color:var(--accent)}.dialog-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}.project-media-btn:focus-visible,.project-actions-row button:focus-visible,.project-actions-row a:focus-visible,.project-rail-controls button:focus-visible{outline:2px solid var(--proj-accent, var(--accent));outline-offset:3px}.video-section{background:var(--bg);border-top:1px solid var(--border);padding:6rem 0;position:relative;overflow:hidden}.video-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:2.2rem}.video-heading>p{color:var(--text-2);font-size:.85rem;line-height:1.6;flex-shrink:0;max-width:440px}.video-timecode-ribbon{width:100vw;margin-left:calc(50% - 50vw);overflow:hidden;border-top:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.05);background:#08090e99;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:.55rem 0;margin-bottom:2.4rem;pointer-events:none;-webkit-user-select:none;user-select:none}.video-timecode-track{display:flex;align-items:center;gap:1.8rem;white-space:nowrap;font-family:monospace;font-size:.7rem;letter-spacing:.12em;color:var(--text-3);text-transform:uppercase;will-change:transform}.video-timecode-track span.dot{color:var(--accent);font-size:.55rem}.video-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2.5rem}.video-filter-btn{padding:.55rem 1.1rem;font-size:.75rem;font-weight:500;color:var(--text-2);background:var(--surface);border:1px solid var(--border);border-radius:999px;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);will-change:transform,opacity}.video-filter-btn:hover{background:var(--surface-hov);color:var(--text-1);border-color:#fff3}.video-filter-btn.active{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 0 16px var(--accent-glow)}.video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem 2rem}.video-card{min-width:0;perspective:1000px}.video-card-btn{width:100%;text-align:left;color:inherit;display:block;border-radius:16px;background:transparent;border:none;padding:0;cursor:pointer}.video-thumb-stage{position:relative;aspect-ratio:16 / 9;border-radius:14px;overflow:hidden;background:#0b0c12;border:1px solid var(--border);isolation:isolate;transform-style:preserve-3d;will-change:transform;transition:border-color .35s ease,box-shadow .35s ease}.video-thumb-stage:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at var(--pointer-x, 50%) var(--pointer-y, 50%),rgba(255,255,255,.16) 0%,rgba(249,115,22,.08) 35%,transparent 70%);opacity:0;transition:opacity .35s ease;pointer-events:none;z-index:4}.video-card-btn:hover .video-thumb-stage{border-color:#f973168c;box-shadow:0 16px 48px #000000bf,0 0 32px var(--accent-glow)}.video-card-btn:hover .video-thumb-stage:before{opacity:1}.video-preview{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block;z-index:0;transition:transform .6s cubic-bezier(.2,.8,.2,1)}.video-card-btn:hover .video-preview{transform:scale(1.04)}.video-placeholder-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 50% 30%,#161824,#090a0f 80%);display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:hidden;z-index:0}.placeholder-pattern-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(to right,rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.03) 1px,transparent 1px);background-size:24px 24px;pointer-events:none}.placeholder-film-strip{position:absolute;top:0;left:0;right:0;height:12px;display:flex;justify-content:space-around;background:#000000a6;border-bottom:1px solid rgba(255,255,255,.06)}.placeholder-film-strip span{width:14px;height:7px;background:#ffffff1f;border-radius:1px;margin-top:2px}.placeholder-center-art{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:1.2rem}.placeholder-waveform{display:flex;align-items:center;gap:4px;height:32px;padding:0 1rem}.placeholder-waveform .bar{width:3px;background:var(--accent);border-radius:2px;opacity:.6;will-change:transform,opacity;transform-origin:bottom center}.placeholder-waveform .b1{height:8px}.placeholder-waveform .b2{height:18px}.placeholder-waveform .b3{height:26px}.placeholder-waveform .b4{height:14px}.placeholder-waveform .b5{height:28px}.placeholder-waveform .b6{height:20px}.placeholder-waveform .b7{height:24px}.placeholder-waveform .b8{height:12px}.placeholder-waveform .b9{height:6px}.placeholder-status-pill{display:inline-flex;align-items:center;gap:.5rem;font-size:.68rem;font-weight:500;letter-spacing:.05em;color:var(--text-2);background:#0a0b10d9;border:1px solid rgba(255,255,255,.1);padding:.35rem .8rem;border-radius:999px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.video-thumb-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#06060f8c,#06060f0d,#06060fcc);pointer-events:none;z-index:1;transition:opacity .35s ease}.video-card-btn:hover .video-thumb-overlay{opacity:.9}.video-top-badges{position:absolute;top:.9rem;left:.9rem;right:.9rem;display:flex;align-items:center;justify-content:space-between;z-index:2;pointer-events:none}.video-badge-category{font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;padding:.3rem .65rem;background:#06060fd1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15);border-radius:999px;color:#fff}.video-badge-rec{font-size:.62rem;font-family:monospace;font-weight:700;letter-spacing:.08em;padding:.3rem .65rem;background:#06060fd1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15);border-radius:999px;color:var(--text-1);display:flex;align-items:center;gap:.35rem}.rec-dot{width:7px;height:7px;border-radius:50%;background:#ef4444;display:inline-block;box-shadow:0 0 8px #ef4444;animation:recBlink 1.4s ease-in-out infinite}@keyframes recBlink{0%,to{opacity:1}50%{opacity:.3}}.video-bottom-badges{position:absolute;bottom:.9rem;left:.9rem;right:.9rem;display:flex;align-items:center;justify-content:space-between;z-index:2;pointer-events:none}.video-badge-spec{font-size:.62rem;font-weight:600;font-family:monospace;letter-spacing:.05em;padding:.25rem .6rem;background:#06060fd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.12);border-radius:6px;color:var(--text-2)}.video-badge-duration{font-size:.68rem;font-family:monospace;font-weight:600;padding:.25rem .6rem;background:#06060fd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#fff}.video-play-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.9);width:52px;height:52px;border-radius:50%;background:#f97316f0;color:#fff;display:grid;place-items:center;font-size:1rem;padding-left:3px;box-shadow:0 6px 24px #0009,0 0 28px #f9731699;z-index:5;opacity:.85;pointer-events:none;will-change:transform}.video-card-meta{padding:1.1rem .2rem .4rem}.video-client-tag{display:block;font-size:.68rem;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.25rem}.video-meta-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.4rem}.video-meta-top h3{font-size:1.15rem;font-weight:600;color:var(--text-1);line-height:1.35;transition:color .2s}.video-card-btn:hover .video-meta-top h3{color:var(--accent)}.video-action-link{font-size:.72rem;font-weight:500;color:var(--accent);display:flex;align-items:center;gap:.3rem;flex-shrink:0;padding-top:.2rem}.video-card-desc{font-size:.82rem;color:var(--text-2);line-height:1.6;margin-bottom:.9rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.video-tools-list{display:flex;flex-wrap:wrap;gap:.4rem}.video-tool-pill{font-size:.65rem;padding:.2rem .55rem;border-radius:4px;background:var(--surface);border:1px solid var(--border);color:var(--text-3);letter-spacing:.02em}.video-gear-note{margin-top:3.5rem;padding:1.6rem 2rem;border:1px solid var(--border);border-radius:14px;background:linear-gradient(135deg,#ffffff08,#f973160a);display:flex;align-items:center;justify-content:space-between;gap:1.5rem;transition:background .3s,border-color .3s}.video-gear-note:hover{border-color:#f9731666}.video-gear-left strong{display:block;font-size:1.05rem;color:var(--text-1);margin:.3rem 0;font-weight:600}.video-gear-left p{color:var(--text-2);font-size:.8rem;margin:0}.video-gear-link{display:inline-flex;align-items:center;gap:.6rem;padding:.7rem 1.2rem;border-radius:8px;background:var(--surface);border:1px solid var(--border);color:var(--text-1);font-size:.78rem;font-weight:500;white-space:nowrap;transition:all .25s}.video-gear-link:hover{background:var(--accent);border-color:var(--accent);color:#fff;transform:translate(3px)}.video-dialog{position:fixed;margin:auto;width:min(860px,calc(100% - 32px));max-height:calc(100svh - 48px);overflow-y:auto;padding:clamp(1.2rem,3.5vw,2.2rem);background:#101117;border:1px solid rgba(255,255,255,.12);color:var(--text-1);border-radius:20px;box-shadow:0 35px 140px #000000e6;box-sizing:border-box}.video-dialog::backdrop{background:#040508e0;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.video-dialog-content{position:relative}.video-dialog .dialog-close{position:absolute;top:-.5rem;right:-.5rem;width:40px;height:40px;font-size:1.6rem;color:#fff;border-radius:50%;display:grid;place-items:center;z-index:25;background:#12131af2;border:1px solid rgba(255,255,255,.25);box-shadow:0 4px 16px #0009;cursor:pointer;transition:background .2s,color .2s,transform .2s}.video-dialog .dialog-close:hover{background:var(--accent);border-color:var(--accent);color:#fff;transform:scale(1.08)}.video-player-wrap{width:100%;aspect-ratio:16 / 9;border-radius:12px;overflow:hidden;background:#000;border:1px solid rgba(255,255,255,.1);margin-bottom:1.5rem}.dialog-video-player{width:100%;height:100%;object-fit:contain;display:block}.dialog-placeholder-stage{position:relative;width:100%;height:100%;background:radial-gradient(ellipse at center,#181928,#08090e);display:flex;align-items:center;justify-content:center;padding:2rem;text-align:center;box-sizing:border-box}.dialog-stage-inner{max-width:500px;display:flex;flex-direction:column;align-items:center;gap:.8rem}.stage-icon-circle{width:56px;height:56px;border-radius:50%;background:#f9731626;border:1px solid rgba(249,115,22,.4);color:var(--accent);display:grid;place-items:center;font-size:1.3rem;box-shadow:0 0 24px var(--accent-glow)}.dialog-placeholder-stage h3{font-size:1.4rem;color:var(--text-1)}.dialog-placeholder-stage p{color:var(--text-2);font-size:.88rem;line-height:1.6;margin:0}.dialog-stage-guide{margin-top:.6rem;padding:.6rem 1rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;font-size:.75rem;color:var(--text-2)}.dialog-stage-guide code{color:var(--accent-2);background:#0006;padding:.15rem .4rem;border-radius:4px}.video-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.dialog-client-sub{display:block;font-size:.75rem;font-weight:500;color:var(--accent);margin-top:.2rem;text-transform:uppercase;letter-spacing:.05em}.video-dialog-header h2{font-size:clamp(1.3rem,3vw,1.8rem);margin-top:.3rem;line-height:1.3}.video-dialog-duration{font-family:monospace;font-size:.8rem;padding:.35rem .75rem;background:#ffffff14;border-radius:6px;color:var(--text-2);border:1px solid var(--border);flex-shrink:0}.video-dialog-desc{color:var(--text-2);font-size:.9rem;line-height:1.65;margin-bottom:1.5rem}.video-spec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:1.5rem}.spec-card{background:#ffffff08;border:1px solid var(--border);border-radius:10px;padding:1rem;transition:border-color .2s}.spec-card:hover{border-color:#f973164d}.spec-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem}.spec-icon{font-size:.85rem;color:var(--accent)}.spec-badge{font-size:.58rem;font-family:monospace;font-weight:700;padding:.1rem .4rem;background:#f9731633;color:var(--accent);border-radius:3px}.spec-label{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3)}.spec-card p{font-size:.8rem;color:var(--text-1);line-height:1.5;margin:0}.video-dialog-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.2rem;padding:1.2rem;background:#ffffff05;border-radius:10px;border:1px solid var(--border);margin-bottom:1.8rem}.video-dialog-meta-grid .meta-label{display:block;font-size:.65rem;color:var(--text-3);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.3rem}.video-dialog-meta-grid strong{font-size:.85rem;color:var(--text-1);font-weight:500;line-height:1.4}@media (max-width: 820px){.video-heading{display:block}.video-heading>p{margin-top:1.2rem;max-width:none}.video-grid{grid-template-columns:1fr;gap:2.2rem}.video-spec-grid{grid-template-columns:1fr}.video-gear-note{flex-direction:column;align-items:flex-start}}.video-card-folder .video-thumb-stage{box-shadow:0 0 0 1px #ffffff1a,0 12px 32px #0006}.video-badge-folder{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .65rem;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;background:#ffffff24;color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:999px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.video-badge-folder svg{font-size:.75rem;color:var(--accent)}.folder-player-bar{display:flex;align-items:center;justify-content:space-between;padding:.65rem 1rem;background:#0e1018e6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border);gap:1rem}.folder-player-status{display:flex;align-items:center;gap:.6rem;min-width:0}.folder-player-tag{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.18rem .5rem;border-radius:4px;background:#ffffff14;color:var(--text-2);flex-shrink:0}.folder-player-title{font-size:.8rem;font-weight:500;color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.folder-player-nav{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.folder-nav-arrow{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;background:#ffffff0f;border:1px solid var(--border);color:var(--text-2);cursor:pointer;font-size:.7rem;transition:all .2s ease}.folder-nav-arrow:hover{background:#ffffff24;color:#fff;border-color:#ffffff4d}.folder-nav-counter{font-size:.72rem;font-family:monospace;color:var(--text-3);padding:0 .3rem}.folder-playlist-tray{margin:1.5rem 0;padding:1.2rem;background:#ffffff05;border:1px solid var(--border);border-radius:12px}.folder-playlist-header{margin-bottom:.9rem}.folder-playlist-title-wrap{display:flex;align-items:center;gap:.7rem}.folder-open-icon{font-size:1.2rem;color:var(--accent);flex-shrink:0}.folder-playlist-title-wrap strong{display:block;font-size:.9rem;color:var(--text-1)}.folder-playlist-sub{display:block;font-size:.72rem;color:var(--text-3);margin-top:.1rem}.folder-playlist-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.6rem}.folder-item-card{display:flex;align-items:center;gap:.7rem;padding:.7rem .85rem;background:#ffffff08;border:1px solid rgba(255,255,255,.07);border-radius:8px;color:inherit;cursor:pointer;text-align:left;transition:all .22s ease;position:relative}.folder-item-card:hover{background:#ffffff0f;border-color:#fff3;transform:translateY(-1px)}.folder-item-card.is-active{background:#ffffff14;border-color:var(--accent);box-shadow:0 0 16px var(--accent-glow)}.folder-item-num{font-family:monospace;font-size:.72rem;color:var(--text-3);flex-shrink:0}.folder-item-card.is-active .folder-item-num{color:var(--accent);font-weight:700}.folder-item-text{flex:1;min-width:0}.folder-item-title{display:block;font-size:.8rem;font-weight:600;color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.folder-item-tag{display:block;font-size:.65rem;color:var(--text-3);margin-top:.15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.folder-item-icon{font-size:.65rem;color:var(--text-3);flex-shrink:0}.folder-item-card.is-active .folder-item-icon{color:var(--accent)}.folder-active-desc-prefix{color:var(--accent);font-weight:500}.drive-link-btn{display:inline-flex;align-items:center;gap:.5rem}.drive-link-btn svg{color:#34a853}@media (max-width: 600px){.folder-playlist-grid{grid-template-columns:1fr}}.contact-section{background:var(--bg-2)}.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:5rem;align-items:start}.contact-desc{color:var(--text-2);font-size:.95rem;line-height:1.75;margin-top:1.25rem;margin-bottom:2.5rem}.contact-grid .fade-up{opacity:0;transform:translateY(20px)}.contact-grid.in-view .fade-up{opacity:1;transform:translateY(0);transition:opacity .4s var(--ease),transform .4s var(--ease)}.contact-form{display:flex;flex-direction:column;gap:1.5rem}.field{position:relative}.field input,.field textarea{width:100%;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text-1);font-size:.95rem;font-family:inherit;padding:1.1rem 1rem .5rem;outline:none;resize:none;transition:border-color var(--tr),background var(--tr),box-shadow var(--tr);line-height:1.5}.field textarea{padding-top:1.4rem}.field input:focus,.field textarea:focus{border-color:var(--accent);background:var(--surface-hov);box-shadow:0 0 0 3px var(--accent-glow)}.field input:-webkit-autofill,.field input:-webkit-autofill:hover,.field input:-webkit-autofill:focus,.field textarea:-webkit-autofill,.field textarea:-webkit-autofill:hover,.field textarea:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--surface) inset!important;-webkit-text-fill-color:var(--text-1)!important;caret-color:var(--text-1);transition:background-color 5000s ease-in-out 0s}.field label{position:absolute;left:1rem;top:1rem;font-size:.9rem;color:var(--text-3);pointer-events:none;transition:top .2s var(--tr),font-size .2s var(--tr),color .2s var(--tr);line-height:1}.field input:focus+label,.field input:not(:placeholder-shown)+label,.field textarea:focus+label,.field textarea:not(:placeholder-shown)+label{top:.4rem;font-size:.7rem;letter-spacing:.05em;color:var(--accent)}.field label span{color:var(--accent)}.field.has-error input,.field.has-error textarea{border-color:#f87171}.field-error{display:block;font-size:.75rem;color:#f87171;margin-top:.35rem;padding-left:.25rem}.form-failure{color:#ffc49f;background:#ff6b2b14;border:1px solid rgba(255,153,94,.35);border-radius:var(--radius-sm);padding:1rem 1.25rem;margin-bottom:.5rem;display:flex;flex-direction:column;gap:.85rem;font-size:.88rem;line-height:1.5}.form-failure p{margin:0}.form-failure .fallback-mail-btn{align-self:flex-start;font-size:.8rem;padding:.45rem .9rem;border-color:#ff995e80;color:#ffc49f;text-decoration:none}.form-failure .fallback-mail-btn:hover{background:#ff995e26;color:#fff;border-color:#ff995e}.contact-submit{align-self:flex-start;gap:.6rem}.contact-submit:disabled{opacity:.7;cursor:not-allowed;transform:none!important}.spin{animation:spin-btn .8s linear infinite}@keyframes spin-btn{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.contact-success{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;padding:2rem;background:#4ade800f;border:1px solid rgba(74,222,128,.25);border-radius:var(--radius-md);color:#86efac}.contact-success svg{flex-shrink:0}.contact-success strong{display:block;font-size:1rem;margin-bottom:.25rem;color:#4ade80}.contact-success p{font-size:.88rem;color:var(--text-2)}.contact-info-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2.5rem;position:sticky;top:90px}.contact-info-card h3{font-size:1.1rem;font-weight:700;color:var(--text-1);margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.info-list{display:flex;flex-direction:column;gap:.5rem}.info-item{display:flex;align-items:center;gap:1rem;padding:.85rem 1rem;border-radius:var(--radius-sm);transition:background var(--tr),color var(--tr);color:var(--text-2);text-decoration:none}.info-item:hover{background:var(--surface-hov);color:var(--accent)}.info-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--surface-hov);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--accent);flex-shrink:0;transition:background var(--tr),border-color var(--tr)}.info-item:hover .info-icon{background:var(--accent-glow);border-color:var(--accent)}.info-text{display:flex;flex-direction:column;gap:.15rem;min-width:0}.info-label{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}.info-value{font-size:.88rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:inherit}@media (max-width: 860px){.contact-grid{grid-template-columns:1fr;gap:3rem}.contact-info-card{position:static}}.site-footer{background:var(--bg);border-top:1px solid var(--border)}.site-footer .footer-inner{padding-top:3.5rem;padding-bottom:calc(clamp(3.5rem,6vw,5rem) + env(safe-area-inset-bottom))}.footer-top{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem;margin-bottom:2rem;margin-top:2rem}.footer-brand{display:flex;align-items:center;gap:.75rem;transition:opacity var(--tr)}.footer-brand:hover{opacity:.75}.footer-logo{height:32px;width:auto}.footer-name{font-family:Futura,Noto Sans,sans-serif;font-size:1rem;font-weight:700;color:var(--text-1);letter-spacing:.04em}.footer-tagline{font-size:.85rem;color:var(--text-3);max-width:320px;line-height:1.6}.footer-socials{display:flex;gap:.75rem}.footer-social{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--border);color:var(--text-3);transition:color var(--tr),border-color var(--tr),background var(--tr)}.footer-social:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-glow)}.footer-divider{height:1px;background:var(--border);margin-bottom:1.5rem}.footer-bottom{display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center}.footer-copy{font-size:.78rem;color:var(--text-3)}.footer-nav{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;justify-content:center}.footer-link{font-size:.78rem;font-weight:600;letter-spacing:.04em;color:var(--text-3);transition:color var(--tr)}.footer-link:hover{color:var(--accent)}@media (min-width: 700px){.footer-bottom{flex-direction:row;justify-content:space-between;align-items:center;text-align:left}.footer-nav{justify-content:flex-end;gap:.5rem 1.5rem}}@font-face{font-family:Futura;src:url(/FuturaStd.ttf) format("truetype");font-weight:400;font-style:normal}:root{--bg: #06060f;--bg-2: #0c0c1b;--surface: rgba(255, 255, 255, .04);--surface-hov: rgba(255, 255, 255, .07);--border: rgba(255, 255, 255, .09);--accent: #f97316;--accent-2: #fb923c;--accent-glow: rgba(249, 115, 22, .2);--text-1: #f0f0ff;--text-2: #9090b8;--text-3: #50507a;--radius-sm: 8px;--radius-md: 16px;--radius-lg: 24px;--ease: cubic-bezier(.4, 0, .2, 1);--tr: .3s cubic-bezier(.4, 0, .2, 1);--max-w: 1160px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth;scrollbar-width:none;scrollbar-color:transparent transparent;max-width:100%;overflow-x:hidden}*{scrollbar-width:none;-ms-overflow-style:none}*::-webkit-scrollbar{width:0;height:0;display:none;background:transparent}*::-webkit-scrollbar-track,*::-webkit-scrollbar-thumb,*::-webkit-scrollbar-corner{background:transparent;border:0}body{background:var(--bg);color:var(--text-1);font-family:Noto Sans,sans-serif;line-height:1.7;overflow-x:hidden;max-width:100%;width:100%;min-height:100vh}#root{min-height:100vh;max-width:100%;overflow-x:clip}h1,h2,h3,h4{font-family:Futura,Noto Sans,sans-serif;line-height:1.15;letter-spacing:.01em}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}button{font-family:inherit;cursor:pointer;border:none;background:none}.container{width:100%;max-width:var(--max-w);margin:0 auto;padding:0 clamp(1.5rem,5vw,4rem)}section{padding:clamp(4.5rem,9vw,7rem) 0}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 2rem;border-radius:var(--radius-sm);font-weight:700;font-size:.875rem;letter-spacing:.06em;text-transform:uppercase;transition:transform var(--tr),box-shadow var(--tr),background var(--tr),color var(--tr),border-color var(--tr);border:1.5px solid transparent}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{background:var(--accent-2);border-color:var(--accent-2);transform:translateY(-2px);box-shadow:0 10px 30px var(--accent-glow)}.btn-ghost{background:transparent;color:var(--text-1);border-color:var(--border)}.btn-ghost:hover{background:var(--surface-hov);border-color:#ffffff38;transform:translateY(-2px)}.section-tag{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:.6rem}.section-title{font-size:clamp(1.8rem,4vw,2.6rem);color:var(--text-1)}.section-divider{width:2.5rem;height:3px;background:var(--accent);border-radius:2px;margin-top:.9rem}.fade-up{opacity:0;transform:translateY(20px);transition:opacity .4s var(--ease),transform .4s var(--ease)}.fade-up.visible{opacity:1;transform:translateY(0)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes scroll-bounce{0%,to{transform:translateY(0);opacity:.7}50%{transform:translateY(8px);opacity:.2}}@keyframes orb-drift-1{0%,to{transform:translate(0) scale(1)}33%{transform:translate(60px,-40px) scale(1.05)}66%{transform:translate(-30px,30px) scale(.95)}}@keyframes orb-drift-2{0%,to{transform:translate(0) scale(1)}33%{transform:translate(-50px,50px) scale(1.08)}66%{transform:translate(40px,-20px) scale(.92)}}@keyframes orb-drift-3{0%,to{transform:translate(0) scale(1)}50%{transform:translate(30px,30px) scale(1.06)}}main{position:relative}html.smooth-enabled{scroll-behavior:auto}#smooth-content{overflow:visible}.motion-controls{position:fixed;right:18px;bottom:16px;z-index:150;width:max-content;max-width:calc(100vw - 36px);color:var(--text-1);background:#252722;border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 25px #0003;font-size:.75rem}.motion-controls summary{cursor:pointer;padding:.7rem 1rem}.motion-controls[open]{width:270px;padding:0 1rem 1rem}.motion-controls[open] summary{margin-inline:-1rem;border-bottom:1px solid var(--border);margin-bottom:.8rem}.motion-controls label{display:block;margin-bottom:.5rem}.motion-controls select{width:100%;padding:.6rem;color:var(--text-1);background:var(--bg);border:1px solid var(--border);border-radius:5px;font:inherit}.motion-controls p{margin-top:.7rem;color:var(--text-2);line-height:1.6}.motion-enable{display:block;width:100%;margin-top:.8rem;padding:.7rem;border-radius:5px;background:var(--accent);color:var(--bg);font:inherit}.motion-ribbon{overflow:clip;padding:2rem 0;border-block:1px solid var(--border);color:var(--text-1)}.motion-ribbon-track{width:max-content;white-space:nowrap;font-size:clamp(2.4rem,6vw,6.5rem);font-weight:500;line-height:1.2;letter-spacing:-.055em}.motion-ribbon-track span{color:var(--accent);padding:0 2rem}:root{--bg: #171916;--bg-2: #1c1f1b;--surface: #ffffff04;--surface-hov: #ffffff09;--border: #ffffff16;--text-1: #f2f0e9;--text-2: #b5b7ac;--text-3: #969b8f;--accent: #ff995e;--accent-2: #ffb282;--max-w: 1240px}body,h1,h2,h3,h4{font-family:Host Grotesk,sans-serif}h1,h2,h3,h4{letter-spacing:-.035em}.section-title{font-size:clamp(2rem,3.8vw,3.2rem);font-weight:500}.section-tag{font-size:.65rem;letter-spacing:.14em}.accent-text{color:var(--accent)}.btn{padding:.85rem 1.3rem;font-size:.8rem;text-transform:none;letter-spacing:0;font-weight:500;border-radius:7px}.btn-primary{color:#25170e}.btn>span{margin-left:.5rem}a,button,input,textarea,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}section{scroll-margin-top:90px}.portfolio main>section:not(.hero){padding-block:clamp(5rem,8vw,7rem)}.portfolio.projects-horizontal main>section.projects-section{padding-block:0!important;padding:0!important}.portfolio .section-divider{margin-top:1rem}.scroll-progress{position:fixed;inset:0 0 auto;z-index:200;height:3px;background:var(--accent);transform:scaleX(0);transform-origin:left;pointer-events:none}.skip-link{position:fixed;top:12px;left:12px;z-index:210;background:var(--accent);color:#171916;padding:.7rem 1rem;border-radius:6px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.portfolio .site-header{background:#171916dd;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--border)}.portfolio .site-header.scrolled{background:#171916ee}.portfolio .hdr-inner{height:82px}.portfolio .hdr-logo{width:auto}.wordmark{font-size:1.6rem;font-weight:600;letter-spacing:-.06em}.wordmark>span{color:var(--accent)}.portfolio .hdr-link{font-size:.75rem}.portfolio .hdr-link[aria-current],.portfolio .mob-link[aria-current]{color:var(--accent)}.portfolio .hdr-cta{background:var(--accent);color:#25170e;border-radius:6px;font-size:.75rem}.portfolio .mobile-nav{background:#1c1f1b;visibility:hidden}.portfolio .mobile-nav.open{visibility:visible;max-height:440px}.portfolio .fade-up,.portfolio .about-text,.portfolio .about-right{opacity:1;transform:none;transition:none}.portfolio .about{border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.portfolio .about-grid{gap:4rem}.portfolio .about-text p{font-size:1rem}.portfolio .stat-card{border-radius:8px}.portfolio .stat-value{font-family:inherit;font-weight:400}.portfolio .about-img-wrap{display:none}.portfolio .tl-card{border-radius:8px}.portfolio .tl-desc{color:var(--text-2)}.portfolio .skills{border-block:1px solid var(--border)}.portfolio .contact-section{border-top:1px solid var(--border)}.portfolio .contact-info-card{background:var(--surface);border-color:var(--border)}.portfolio .contact-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.contact-form-col,.contact-info-col,.field,.tl-card{min-width:0}.portfolio .field input,.portfolio .field textarea{min-width:0;font-size:1rem}.portfolio .site-footer{background:var(--bg)}.portfolio .info-value{overflow-wrap:anywhere;white-space:normal}.form-failure{color:#ffc49f;font-size:.85rem;margin:0 0 1rem;padding:1rem;border:1px solid #ff995e55;border-radius:8px}@media (max-width: 1000px){.portfolio .hdr-nav{gap:1rem}}@media (max-width: 860px){.portfolio .contact-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width: 500px){.portfolio .skill-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio .skill-card{min-width:0}}@media (max-width: 700px){.portfolio .hdr-inner{height:72px}section{scroll-margin-top:80px}.portfolio .about-grid{gap:2rem}.portfolio .about-right{display:block}.portfolio .hero-greeting{font-size:.62rem}}@media (prefers-reduced-motion: reduce){html:not([data-motion=full]){scroll-behavior:auto!important}html:not([data-motion=full]) *,html:not([data-motion=full]) *:before,html:not([data-motion=full]) *:after{animation:none!important;transition:none!important}}html[data-motion=reduced]{scroll-behavior:auto!important}html[data-motion=reduced] *,html[data-motion=reduced] *:before,html[data-motion=reduced] *:after{animation:none!important;transition:none!important}
