@import "https://fonts.googleapis.com/css2?family=Archivo:wdth,wght@75..125,300..800&family=Great+Vibes&family=Noto+Sans+SC:wght@300;400;500;700;900&display=swap";@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Inter:wght@400;500;600;700;800&family=Noto+Sans+SC:wght@400;500;600;700;800&display=swap";:root{--bg:#0b0b0a;--panel:#11110f;--ink:#edece5;--muted:#96968e;--line:#2b2b27;--acid:#c8ff3d;--orange:#e86127;--mx:50vw;--my:50vh}html{scroll-behavior:smooth;background:var(--bg)}body{color:var(--ink);background:var(--bg);cursor:default;margin:0;font-family:Archivo,Noto Sans SC,sans-serif}button,a{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0}.nav{z-index:50;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0a0a0890;border-bottom:1px solid #ffffff20;justify-content:space-between;align-items:center;width:100%;height:78px;padding:0 max(28px,50vw - 850px);display:flex;position:fixed;top:0;left:0}.brand{letter-spacing:.08em;align-items:center;gap:9px;font-weight:800;display:flex}.brand svg{width:23px}.brand span{align-self:flex-start;margin-top:18px;font-size:8px}.nav nav{align-items:center;gap:38px;display:flex}.nav nav button{color:#c8c8c0;font-size:13px}.nav nav button:hover{color:#fff}.nav-contact{background:var(--ink);color:#111;align-items:center;gap:24px;height:44px;padding:0 17px 0 21px;font-size:13px;text-decoration:none;display:flex}.nav-contact svg{width:16px}.menu{display:none}.hero{align-items:flex-end;height:100svh;min-height:720px;padding:0 max(28px,50vw - 850px) 7vh;display:flex;position:relative;overflow:hidden}.hero-bg{filter:contrast(1.1)brightness(.62);background:linear-gradient(90deg,#070706 0%,#0000 56%),linear-gradient(#0000 52%,#090908 100%),url(/assets/portfolio/hero.jpg) 50%/cover;animation:12s ease-in-out infinite alternate breath;position:absolute;inset:0;transform:scale(1.035)}.hero:after{content:"";background:radial-gradient(500px circle at var(--mx) var(--my),transparent,#0004 70%);pointer-events:none;position:absolute;inset:0}.noise{opacity:.12;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");position:absolute;inset:0}.scan{background:#c8ff3d70;width:1px;animation:8s linear infinite scan;position:absolute;top:0;bottom:0;box-shadow:0 0 30px #c8ff3d55}.hud{z-index:2;letter-spacing:.12em;color:#b8b8af;font-size:10px;line-height:1.7;position:absolute}.hud-a{top:120px;left:max(28px,50vw - 850px)}.hud-b{text-align:right;top:120px;right:max(28px,50vw - 850px)}.hero-copy{z-index:3;width:100%;position:relative}.eyebrow,.kicker{letter-spacing:.2em;color:#b5b5ac;font-size:11px}.eyebrow{align-items:center;gap:10px;display:flex}.eyebrow i{background:var(--acid);width:8px;height:8px;box-shadow:0 0 15px var(--acid);border-radius:50%}.hero h1{letter-spacing:-.075em;max-width:1400px;margin:32px 0 42px;font-size:clamp(78px,10.8vw,185px);font-weight:700;line-height:.76}.hero h1 em,.about h2 em,footer h2 em{color:var(--acid);font-family:Georgia,serif;font-weight:400}.hero-bottom{border-top:1px solid #ffffff35;justify-content:space-between;align-items:end;padding-top:20px;display:flex}.hero-bottom p{color:#bdbdb5;font-size:14px;line-height:1.8}.circle{border:1px solid #ffffff50;border-radius:50%;place-items:center;width:70px;height:70px;transition:all .3s;display:grid}.circle:hover{background:var(--acid);color:#111;transform:rotate(-30deg)}.section{max-width:1700px;margin:auto;padding:145px 28px}.section-label{letter-spacing:.18em;color:#7f7f78;font-size:10px}.about-grid{grid-template-columns:1.1fr .72fr .85fr;align-items:end;gap:6vw;margin-top:55px;display:grid}.about h2{letter-spacing:-.06em;margin:25px 0 0;font-size:clamp(48px,5.3vw,88px);font-weight:500;line-height:1.04}.portrait{background:#171714;height:570px;position:relative;overflow:hidden}.portrait img{object-fit:cover;object-position:42% center;filter:grayscale()contrast(1.15);width:100%;height:100%;transform:scale(1.35)}.portrait:after{content:"";border:1px solid #fff2;position:absolute;inset:0}.portrait span{z-index:2;letter-spacing:.16em;font-size:9px;position:absolute;bottom:16px;left:18px}.about-copy{color:#aaa9a1;font-size:14px;line-height:1.9}.about-copy p{margin:0 0 22px}.contacts{border-top:1px solid var(--line);letter-spacing:.08em;gap:9px;padding-top:22px;font-size:10px;display:grid}.contacts a{text-decoration:none}.contacts a:hover{color:var(--acid)}.stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin-top:120px;display:grid}.stats div{border-right:1px solid var(--line);padding:35px 0}.stats div:not(:first-child){padding-left:35px}.stats strong{letter-spacing:-.05em;font-size:48px;font-weight:400;display:block}.stats span{color:#777;letter-spacing:.12em;font-size:9px}.work{color:#111;background:#e8e6de;max-width:none;padding-left:max(28px,50vw - 850px);padding-right:max(28px,50vw - 850px)}.work .section-label{color:#777}.section-head{grid-template-columns:1fr 2fr;align-items:end;margin-bottom:65px;display:grid}.section-head h2{letter-spacing:-.06em;margin:0 0 8px;font-size:clamp(46px,5vw,80px)}.section-head p{letter-spacing:.15em;color:#777;font-size:10px}.projects{grid-template-columns:repeat(2,1fr);gap:85px 24px;display:grid}.project-img{aspect-ratio:16/9;background:#111;position:relative;overflow:hidden}.project-img img{object-fit:cover;width:100%;height:100%;transition:all .7s cubic-bezier(.2,.7,.2,1)}.project-cursor{background:var(--acid);border-radius:50%;place-items:center;width:52px;height:52px;transition:all .3s;display:grid;position:absolute;top:22px;right:22px;transform:scale(0)}.project:hover .project-cursor{transform:scale(1)}.project-meta{border-top:1px solid #aaa;grid-template-columns:40px 1fr 1fr auto;align-items:center;margin-top:14px;padding-top:16px;display:grid}.project-meta span,.project-meta p,.project-meta time{color:#6b6b66;letter-spacing:.1em;font-size:10px}.project-meta h3{margin:0;font-size:17px}.skills{padding-bottom:180px}.skills .section-head{grid-template-columns:1fr 2fr}.skill-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.skill-card{border-right:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;justify-content:space-between;height:420px;padding:28px;transition:all .4s;display:flex;position:relative;overflow:hidden}.skill-card:before{content:"";opacity:0;background:linear-gradient(135deg,#c8ff3d20,#0000 50%);transition:all .4s;position:absolute;inset:0}.skill-card:hover{background:#151512}.skill-card:hover:before{opacity:1}.skill-card>span{color:#777;font-size:10px}.skill-card>svg{stroke-width:1px;width:52px;height:52px;color:var(--acid)}.skill-card small{color:#777;letter-spacing:.15em;font-size:9px}.skill-card h3{margin:8px 0 20px;font-size:32px}.skill-card p{color:#8e8e87;max-width:330px;font-size:13px;line-height:1.8}footer{flex-direction:column;justify-content:center;height:100svh;min-height:720px;padding:120px max(28px,50vw - 850px) 35px;display:flex;position:relative;overflow:hidden}footer .footer-bg{filter:grayscale(.6)brightness(.4);opacity:.6;background:linear-gradient(90deg,#080807 0%,#080807b0 50%,#080807 100%),url(/assets/portfolio/thermos.jpg) 50%/cover;position:absolute;inset:0}footer>:not(.footer-bg){position:relative}footer .section-label{position:absolute;top:120px}footer .kicker{margin-top:auto}footer h2{letter-spacing:-.07em;margin:25px 0 45px;font-size:clamp(66px,9.5vw,160px);line-height:.88}footer .mail{background:var(--acid);color:#111;align-self:flex-end;gap:70px;padding:22px 27px;font-size:14px;font-weight:700;text-decoration:none;display:flex}footer .mail svg{width:18px}.footer-bar{letter-spacing:.13em;color:#999;border-top:1px solid #ffffff30;justify-content:space-between;margin-top:auto;padding-top:22px;font-size:9px;display:flex}.footer-bar button{letter-spacing:.13em;font-size:9px}@keyframes breath{to{transform:scale(1.075)}}@keyframes scan{0%{left:-2%}to{left:102%}}@media (width<=900px){.nav{height:66px}.menu{z-index:3;display:block}.nav nav{background:#0b0b09;flex-direction:column;justify-content:center;transition:all .4s;display:flex;position:fixed;inset:0;transform:translateY(-100%)}.nav nav.open{transform:none}.nav nav button{font-size:36px}.hero{min-height:660px;padding-bottom:28px}.hud-b{display:none}.hero h1{margin:26px 0;font-size:22vw;line-height:.82}.hero-bottom{align-items:center}.hero-bottom p{font-size:11px}.circle{width:55px;height:55px}.section{padding:95px 20px}.about-grid{grid-template-columns:1fr;gap:45px}.about h2{font-size:14vw}.portrait{height:115vw;max-height:620px}.about-copy{font-size:13px}.stats{grid-template-columns:repeat(2,1fr);margin-top:70px}.stats div,.stats div:not(:first-child){padding:25px 12px}.stats strong{font-size:34px}.section-head,.skills .section-head{grid-template-columns:1fr;gap:35px}.projects{grid-template-columns:1fr;gap:55px}.project-meta{grid-template-columns:28px 1fr auto}.project-meta p{display:none}.skill-grid{grid-template-columns:1fr}.skill-card{height:350px}.work{padding-left:20px;padding-right:20px}footer{padding:95px 20px 25px}footer .section-label{top:95px}footer h2{font-size:17vw}footer .mail{justify-content:space-between;align-self:stretch}.footer-bar{grid-template-columns:1fr 1fr;gap:12px;display:grid}.footer-bar span:nth-child(2){display:none}.footer-bar button{text-align:right}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important}}@media (width<=900px){.nav nav{opacity:0;visibility:hidden;pointer-events:none;transition:transform .4s,opacity .3s,visibility .4s}.nav nav.open{opacity:1;visibility:visible;pointer-events:auto}}:root{--acid:#fdd366;--bg:#070706;--panel:#0d0c0a}body{background:linear-gradient(#050505 0%,#0b0908 44%,#050505 100%)}.brand{gap:0}.brand svg{display:none}.hero-bg{filter:contrast(1.05)brightness(.72);background-image:linear-gradient(90deg,#050505 0%,#0000 32% 68%,#050505 100%),linear-gradient(#0000 52%,#070706 100%),url(/assets/portfolio/hero-motorcycle.png);background-position:50%;background-repeat:no-repeat;background-size:cover,cover,auto 100%;animation:none;transform:none}.scan{display:none}.eyebrow i{box-shadow:0 0 15px #fdd366}.hero h1{max-width:1500px;font-size:clamp(64px,8.8vw,150px);line-height:.86}.hero h1 em{font-family:Noto Sans SC,sans-serif;font-style:normal;font-weight:500}.about{background:radial-gradient(circle at 75% 32%,#21120c 0%,#0b0908 28%,#070706 64%)}.portrait{background:linear-gradient(160deg,#25120c,#090807);height:620px}.portrait img{display:none}.portrait{background-image:linear-gradient(#0000 55%,#05050555),url(/assets/portfolio/portrait-helmet.png);background-position:50%;background-size:cover}.work{color:var(--ink);border-top:1px solid var(--line);background:radial-gradient(circle at 18% 5%,#21140c 0%,#0b0a08 28%,#060606 70%)}.work .section-label,.section-head p{color:#85857e}.project-meta{border-color:#34342f}.project-meta span,.project-meta p,.project-meta time{color:#85857e}.skills{background:radial-gradient(circle at 82% 18%,#1e120c 0%,#0a0908 30%,#060606 70%)}.skill-card:before{background:linear-gradient(135deg,#fdd36620,#0000 50%)}footer .footer-bg{filter:none;opacity:1;background:radial-gradient(circle at 70% 35%,#28130c 0%,#0b0908 30%,#050505 70%)}@media (width<=900px){.hero-bg{background-position:50%;background-size:cover,cover,cover}.hero h1{font-size:16vw;line-height:.92}.portrait{background-position:50%;height:125vw;max-height:680px}.work{border-top:1px solid var(--line)}}.brand{letter-spacing:.09em;font-weight:800}.brand span{letter-spacing:-.16em;color:var(--acid);align-self:auto;margin:0 0 0 -2px;font-family:STKaiti,KaiTi,Georgia,serif;font-size:25px;font-style:italic;font-weight:700;transform:rotate(-7deg)}.nav-contact{background:var(--acid);border-radius:18px;padding:0 18px 0 22px;font-weight:800;box-shadow:inset 0 0 0 1px #fff4}.hero-bg{background-image:linear-gradient(90deg,#050505 0% 23%,#050505d9 38%,#0000 63%),linear-gradient(#0000 54%,#070706 100%),url(/assets/portfolio/hero-motorcycle.png);background-position:50%,50%,right 42%;background-size:cover,cover,auto 125%}.circle{border-width:2px;width:54px;height:54px}.circle svg{stroke-width:3px;width:20px}.about-grid{grid-template-columns:minmax(390px,.95fr) minmax(380px,.72fr);align-items:center;gap:clamp(55px,8vw,150px);margin-top:72px}.portrait{background-position:50%;background-size:cover;border:0;width:100%;max-width:700px;height:680px;-webkit-mask-image:linear-gradient(90deg,#000 0% 72%,#0000 100%);mask-image:linear-gradient(90deg,#000 0% 72%,#0000 100%)}.portrait:after{border:0}.about-copy{letter-spacing:.055em;max-width:650px;font-size:16px;line-height:2.15}.about-copy>p{text-indent:2em;margin-bottom:28px}.contacts{letter-spacing:.1em;line-height:1.7}.stats{grid-template-columns:repeat(3,1fr);margin-top:100px}.stats strong{font-weight:800}.stats span{margin-top:8px;display:block}.section-head,.skills .section-head{text-align:left;margin-bottom:65px;display:block}.section-head>.section-label{margin-bottom:42px}.section-head h2{text-align:left;margin-left:0}.section-head p{text-align:left}footer{justify-content:center;align-items:flex-start}.footer-bar{align-self:stretch;width:100%}footer .mail{background:var(--acid);letter-spacing:-.03em;border-radius:34px;align-self:flex-start;gap:clamp(70px,14vw,240px);margin:auto 0;padding:30px 42px;font-size:clamp(28px,5vw,76px);font-weight:900;box-shadow:inset 0 0 0 1px #fff5}footer .mail svg{stroke-width:3px;width:42px;height:42px}@media (width<=900px){.brand span{font-size:21px}.nav-contact{border-radius:18px}.hero-bg{background-position:50%,50%,65%;background-size:cover,cover,auto 112%}.about-grid{grid-template-columns:1fr;gap:42px}.portrait{height:125vw;-webkit-mask-image:linear-gradient(#000 0% 80%,#0000 100%);mask-image:linear-gradient(#000 0% 80%,#0000 100%)}.about-copy{letter-spacing:.035em;font-size:14px}.stats{grid-template-columns:1fr}.section-head>.section-label{margin-bottom:30px}footer .mail{border-radius:26px;justify-content:space-between;width:100%;padding:24px 26px}footer .mail svg{width:28px;height:28px}}body,main,.hero{background:#070706}.hero-bg{filter:contrast(1.05)brightness(.8);background-image:url(/assets/portfolio/hero-motorcycle.png);background-position:50% 58%;background-size:cover;width:72%;inset:0 0 0 28%;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 30% 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 30% 100%)}.hero:after{background:linear-gradient(#070706 0%,#0000 16% 72%,#070706 100%)}.hero h1{font-size:clamp(54px,7.2vw,122px);line-height:.88}.hero h1 em{letter-spacing:.02em;color:var(--acid);transform-origin:0;font-family:STKaiti,KaiTi,FZKai-Z03,cursive;font-size:.9em;font-style:italic;font-weight:700;display:inline-block;transform:rotate(-3deg)}.about,.work,.skills{background:linear-gradient(#070706 0%,#0c0907 50%,#070706 100%)}footer .footer-bg{background:linear-gradient(#070706 0%,#0d0907 50%,#070706 100%)}.nav,.work,.hero-bottom,.stats,.stats div,.skill-grid,.skill-card,.project-meta,.contacts,.footer-bar,.work{border:0!important}.portrait:after{display:none}.stats{column-gap:clamp(30px,6vw,100px)}.skill-grid{gap:20px}.skill-card{background:#0b0a08;border-radius:24px}.project-meta{padding-top:12px}.footer-bar{opacity:.78}@media (width<=900px){.hero-bg{background-position:58%;background-size:cover;width:86%;left:14%;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 24% 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 24% 100%)}.hero h1{font-size:14vw}.about,.work,.skills,footer .footer-bg{background:linear-gradient(#070706 0%,#0b0907 50%,#070706 100%)}}.nav-contact{box-shadow:none;padding-left:24px;padding-right:24px;font-weight:400}.hero h1 em{letter-spacing:.01em;white-space:nowrap;margin-top:-.06em;margin-left:clamp(100px,13vw,230px);font-family:Great Vibes,Snell Roundhand,Brush Script MT,cursive;font-size:.5em;font-weight:400;transform:rotate(-4deg)}.stats{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1050px}footer{--fx:50%;--fy:50%}footer:before{content:"";z-index:1;pointer-events:none;background:radial-gradient(520px circle at var(--fx) var(--fy),#fdd36638 0%,#b8482220 25%,transparent 68%);transition:background 80ms linear;position:absolute;inset:0}footer .footer-bg{z-index:0;background:radial-gradient(circle at 72% 35%,#21120e 0%,#100b09 32%,#070706 72%)}footer>:not(.footer-bg){z-index:2}@media (width<=900px){.hero h1 em{white-space:normal;margin-left:12vw;font-size:.43em}.stats{grid-template-columns:1fr}footer:before{background:radial-gradient(320px circle at var(--fx) var(--fy),#fdd36632 0%,transparent 70%)}}.project-cursor{display:none}footer{isolation:isolate;overflow:hidden}footer:before{z-index:1;background:radial-gradient(420px circle at var(--fx) var(--fy),#fdd36624 0%,#9f3b2620 30%,transparent 72%);filter:blur(75px);opacity:.9;transition:opacity .35s;inset:-120px}footer:after{content:"";z-index:1;pointer-events:none;opacity:.17;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='5' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");position:absolute;inset:0}footer .mail{color:#fff;-webkit-backdrop-filter:blur(18px);background:#ffffff0b;border:1px solid #ffffff2b;transition:color .35s,background .35s,border-color .35s,transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s;box-shadow:inset 0 1px #ffffff18,0 20px 70px #0005}footer .mail:hover{color:#080807;background:var(--acid);border-color:var(--acid);transform:translateY(-4px);box-shadow:0 24px 90px #fdd36622}footer .mail:active{transform:translateY(0)scale(.985)}.shutter{z-index:9999;pointer-events:none;visibility:hidden;background:0 0;place-items:center;display:grid;position:fixed;inset:0}.shutter-ring{opacity:0;background:#fff;border-radius:50%;width:24px;height:24px}.shutter.active{visibility:visible;animation:.72s ease-out both shutterFlash}.shutter.active:before,.shutter.active:after{content:"";background:conic-gradient(from 0deg,#050505 0 12%,transparent 12% 16%,#050505 16% 29%,transparent 29% 33%,#050505 33% 46%,transparent 46% 50%,#050505 50% 63%,transparent 63% 67%,#050505 67% 80%,transparent 80% 84%,#050505 84% 97%,transparent 97%);border-radius:50%;width:170vmax;height:170vmax;margin:auto;animation:.72s cubic-bezier(.7,0,.25,1) both irisClose;position:absolute;inset:-35vmax}.shutter.active:after{filter:blur(10px);opacity:.55}.shutter.active .shutter-ring{animation:.72s ease-out both flashCore}@keyframes irisClose{0%{transform:scale(1.8)rotate(0)}38%{transform:scale(.08)rotate(32deg)}53%{transform:scale(.03)rotate(38deg)}to{transform:scale(1.8)rotate(70deg)}}@keyframes shutterFlash{0%,34%{background:0 0}43%{background:#fff}52%{background:#000}to{background:0 0}}@keyframes flashCore{0%,35%{opacity:0;transform:scale(1)}43%{opacity:1;transform:scale(22)}60%,to{opacity:0;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.shutter.active{visibility:hidden;animation:none}}.project{cursor:pointer}.project:focus-visible{outline:2px solid var(--acid);outline-offset:6px}.project-modal{z-index:200;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#050505e8;padding:4vh 4vw;animation:.35s modalIn;position:fixed;inset:0;overflow:auto}.project-modal>article{background:#0b0a08;border-radius:28px;max-width:1500px;margin:auto;position:relative;overflow:hidden;box-shadow:0 40px 120px #000}.project-modal>article>img{object-fit:cover;width:100%;max-height:68vh;display:block}.modal-close{z-index:2;color:#fff;background:#0a0a09cc;border-radius:50%;place-items:center;width:50px;height:50px;display:grid;position:absolute;top:22px;right:22px}.modal-content{padding:55px}.modal-title span,.detail-grid small{letter-spacing:.16em;color:#888;font-size:10px}.modal-title h2{letter-spacing:-.06em;margin:13px 0;font-size:clamp(38px,6vw,96px)}.modal-title>p{color:var(--acid)}.detail-grid{grid-template-columns:repeat(3,1fr);gap:50px;margin-top:70px;display:grid}.detail-grid h3{margin:14px 0;font-size:22px}.detail-grid p{color:#aaa;text-align:justify;font-size:14px;line-height:1.95}@keyframes modalIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}.admin{min-height:100vh;color:var(--ink);background:#0a0908;padding:35px max(24px,50vw - 750px) 100px}.admin>header{grid-template-columns:1fr 1fr 1fr;align-items:center;padding-bottom:55px;display:grid}.admin>header>a{align-items:center;gap:10px;font-size:13px;text-decoration:none;display:flex}.admin>header>div{text-align:center}.admin small{letter-spacing:.18em;color:#888;font-size:9px}.admin h1{margin:8px 0;font-size:44px}.admin-add,.editor-save{background:var(--acid);color:#111;border-radius:16px;justify-self:end;align-items:center;gap:9px;padding:15px 20px;font-weight:700;display:flex}.admin-note{color:#aaa;background:#fdd3660e;border-radius:14px;padding:18px 20px;font-size:12px}.admin-list{gap:12px;margin-top:28px;display:grid}.admin-list article{background:#11100e;border-radius:18px;grid-template-columns:170px 1fr auto;align-items:center;gap:28px;padding:14px;display:grid}.admin-list article>img{object-fit:cover;background:#222;border-radius:10px;width:170px;height:100px}.admin-list h2{margin:7px 0;font-size:21px}.admin-list p{color:#888;font-size:12px}.admin-list span{color:#777;letter-spacing:.12em;font-size:9px}.admin-actions{align-items:center;gap:8px;display:flex}.admin-actions button{background:#22211e;border-radius:12px;min-width:40px;height:40px;padding:0 13px}.admin-actions button:disabled{opacity:.25}.admin-actions svg{width:17px}.admin-actions .delete{color:#ff806e}.editor-backdrop{z-index:300;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#000d;place-items:center;padding:25px;display:grid;position:fixed;inset:0}.editor{background:#12110f;border-radius:26px;width:min(850px,100%);max-height:92vh;padding:32px;overflow:auto;box-shadow:0 40px 130px #000}.editor-head{justify-content:space-between;align-items:start;display:flex}.editor-head h2{margin:7px 0 22px;font-size:35px}.editor-head button{background:#24231f;border-radius:50%;width:42px;height:42px}.editor label{color:#aaa;gap:9px;margin:18px 0;font-size:12px;display:grid}.editor input,.editor textarea{color:#fff;width:100%;font:inherit;background:#201f1c;border:0;border-radius:12px;outline:0;padding:14px}.editor textarea{resize:vertical;height:105px;line-height:1.7}.editor-grid{grid-template-columns:2fr 1fr;gap:18px;display:grid}.image-upload{cursor:pointer;background:#201f1c;border-radius:16px;place-items:center;height:250px;position:relative;overflow:hidden}.image-upload img{object-fit:cover;opacity:.65;width:100%;height:100%;position:absolute;inset:0}.image-upload svg,.image-upload span{z-index:1;position:relative}.image-upload input{display:none}.editor-save{margin:25px 0 0 auto}.admin a{color:inherit}@media (width<=900px){.project-modal{padding:0}.project-modal>article{border-radius:0;min-height:100vh}.modal-content{padding:30px 20px}.detail-grid{grid-template-columns:1fr;gap:28px;margin-top:45px}.admin{padding:20px}.admin>header{grid-template-columns:1fr auto}.admin>header>div{display:none}.admin-list article{grid-template-columns:90px 1fr}.admin-list article>img{width:90px;height:90px}.admin-actions{grid-column:1/-1;justify-content:flex-end}.editor{padding:22px}.editor-grid{grid-template-columns:1fr}.image-upload{height:190px}}.modal-gallery{background:#050505;grid-template-columns:repeat(2,1fr);gap:8px;padding:8px;display:grid}.modal-gallery figure{background:#111;min-height:420px;margin:0;position:relative;overflow:hidden}.modal-gallery figure:first-child{grid-column:1/-1;min-height:min(72vh,850px)}.modal-gallery img{object-fit:cover;width:100%;height:100%;transition:transform .7s;position:absolute;inset:0}.modal-gallery figure:hover img{transform:scale(1.018)}.modal-gallery figure span{z-index:1;letter-spacing:.14em;background:#050505b8;border-radius:20px;padding:8px 10px;font-size:9px;position:absolute;bottom:15px;right:18px}.gallery-editor-head{justify-content:space-between;align-items:center;margin:24px 0 12px;display:flex}.gallery-editor-head>div{gap:4px;display:grid}.gallery-editor-head label{color:#fff;cursor:pointer;background:#292823;border-radius:12px;align-items:center;gap:8px;padding:11px 15px;margin:0!important;display:flex!important}.gallery-editor-head label input{display:none}.gallery-editor-head svg{width:16px}.gallery-editor{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.gallery-editor>div{aspect-ratio:4/3;background:#222;border-radius:12px;position:relative;overflow:hidden}.gallery-editor img{object-fit:cover;width:100%;height:100%}.gallery-editor button{background:#080808d9;border-radius:50%;place-items:center;width:28px;height:28px;display:grid;position:absolute;top:6px;right:6px}.gallery-editor button svg{width:14px}.gallery-editor span{background:#080808c7;border-radius:10px;padding:4px 7px;font-size:8px;position:absolute;bottom:7px;left:7px}.admin-list article>img:empty{background:#222}@media (width<=900px){.modal-gallery{grid-template-columns:1fr}.modal-gallery figure,.modal-gallery figure:first-child{grid-column:auto;min-height:65vw}.gallery-editor{grid-template-columns:repeat(2,1fr)}}.project{opacity:.68;background:#ffffff03;border:1px solid #0000;border-radius:20px;padding:10px;transition:opacity .35s,border-color .35s,background .35s,transform .35s}.project-meta{padding-inline:4px}.project img{transition:transform .7s,filter .35s}.contact-modal{z-index:500;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#050505c9;place-items:center;padding:24px;animation:.3s modalIn;display:grid;position:fixed;inset:0}.contact-modal>article{background:linear-gradient(135deg,#171411,#0b0a09);border-radius:28px;grid-template-columns:1.25fr .75fr;align-items:center;gap:42px;width:min(720px,94vw);padding:42px;display:grid;position:relative;box-shadow:0 40px 120px #000}.contact-close{background:#ffffff0b;border-radius:50%;place-items:center;width:40px;height:40px;display:grid;position:absolute;top:18px;right:18px}.contact-modal small{letter-spacing:.16em;color:var(--acid);font-size:9px}.contact-modal h2{margin:13px 0;font-size:48px}.contact-modal p{color:#999;font-size:13px;line-height:1.8}.contact-modal dl{grid-template-columns:55px 1fr;gap:13px;margin:30px 0 0;font-size:12px;display:grid}.contact-modal dt{color:#666}.contact-modal dd{margin:0}.contact-modal a{color:inherit;text-decoration:none}.contact-modal figure{text-align:center;margin:0}.contact-modal figure img{border-radius:18px;width:100%}.contact-modal figcaption{letter-spacing:.13em;color:#777;margin-top:12px;font-size:9px}.copy-contact{width:100%;color:inherit;text-align:left;justify-content:space-between;align-items:center;gap:18px;padding:2px 0;transition:color .25s;display:flex}.copy-contact span{overflow-wrap:anywhere}.copy-contact b{color:#777;letter-spacing:.1em;flex:none;font-size:8px;font-weight:500;transition:color .25s}.copy-contact:hover,.copy-contact:focus-visible,.copy-contact.is-copied,.copy-contact:hover b,.copy-contact:focus-visible b,.copy-contact.is-copied b{color:var(--acid)}.copy-contact:focus-visible{outline-offset:5px;outline:1px solid #fdd36666}.copy-status{min-height:16px;color:var(--acid);letter-spacing:.1em;margin-top:12px;font-size:9px}@media (width<=900px){.projects{gap:42px;width:100%}.project{border-radius:16px;padding:7px}.contact-modal>article{grid-template-columns:1fr;gap:25px;width:min(420px,94vw);padding:32px 28px}.contact-modal h2{font-size:38px}.contact-modal figure{width:180px;margin:auto}}.projects{grid-template-columns:repeat(2,1fr);gap:85px 24px;width:auto;margin-inline:0}.project{opacity:1;background:0 0;border:0;border-radius:0;padding:0;transform:none}.project:hover,.project:focus-visible{opacity:1;background:0 0;border-color:#0000;transform:none}.project-modal{place-items:start center;display:grid}.project-modal>article{-webkit-backdrop-filter:blur(24px);background:#0b0a08d9;width:min(1100px,66.666vw);max-width:none}.modal-gallery figure{opacity:.72;border:1px solid #0000;border-radius:14px;transition:opacity .35s,border-color .35s,transform .35s}.modal-gallery figure:first-child{opacity:.86}.modal-gallery figure:hover{opacity:1;border-color:#b9b9b966;transform:translateY(-2px)}@media (width<=900px){.projects{grid-template-columns:1fr;gap:55px}.project-modal>article{border-radius:0;width:100%}.modal-gallery figure{opacity:1}}.project{border:1px solid #0000;border-radius:18px;padding:9px;transition:border-color .1s linear,background-color .1s linear}.project:hover,.project:focus-visible{background:#ffffff05;border-color:#b8b8b86b}.modal-gallery figure,.modal-gallery figure:first-child{opacity:1;border-color:#0000;transition:none}.modal-gallery figure:hover{border-color:#0000;transform:none}@media (width<=900px){.project{border-radius:14px;padding:6px}}.modal-gallery figure{cursor:zoom-in}.image-lightbox{z-index:800;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);cursor:zoom-out;background:#030303f2;place-items:center;padding:3vh 3vw;animation:.25s modalIn;display:grid;position:fixed;inset:0}.image-lightbox img{object-fit:contain;cursor:default;width:auto;max-width:94vw;height:auto;max-height:90vh;display:block;box-shadow:0 30px 100px #000}.image-lightbox button{color:#fff;z-index:2;background:#ffffff10;border-radius:50%;place-items:center;width:48px;height:48px;display:grid;position:absolute;top:24px;right:26px}.image-lightbox>span{letter-spacing:.14em;color:#777;font-size:9px;position:absolute;bottom:18px}@media (width<=900px){.image-lightbox{padding:15px}.image-lightbox img{max-width:100%;max-height:88vh}.image-lightbox button{top:16px;right:16px}}.modal-gallery figure{--gx:50%;--gy:50%;--glow:0}.modal-gallery figure:after{content:"";z-index:3;border-radius:inherit;pointer-events:none;opacity:var(--glow);background:radial-gradient(220px circle at var(--gx) var(--gy),#b8b8b86b,#b8b8b829 38%,transparent 72%);-webkit-mask-composite:xor;padding:1px;transition:opacity .12s linear;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.modal-gallery figure:hover:after{opacity:var(--glow)}.project{--gx:50%;--gy:50%;--glow:0;position:relative}.project:after{content:"";z-index:4;border-radius:inherit;pointer-events:none;opacity:var(--glow);background:radial-gradient(300px circle at var(--gx) var(--gy),#b8b8b86b,#b8b8b833 42%,transparent 76%);-webkit-mask-composite:xor;padding:2px;transition:opacity .1s linear;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.modal-gallery figure:after{background:radial-gradient(280px circle at var(--gx) var(--gy),#b8b8b86b,#b8b8b833 42%,transparent 76%);padding:2px}.project:hover{border-color:#0000}.portrait{background-color:#070706;background-image:url(/assets/portfolio/portrait-helmet.png);background-position:50%;background-repeat:no-repeat;background-size:contain;position:relative;overflow:hidden;-webkit-mask-image:none;mask-image:none}.portrait:before{content:"";z-index:1;pointer-events:none;background:radial-gradient(circle at 50% 24%,#0000 0 13%,#07070614 27%,#0707067a 66%,#070706 98%),linear-gradient(90deg,#070706 0%,#0000 18% 80%,#070706 100%),linear-gradient(#070706 0%,#0000 18% 83%,#070706 100%);position:absolute;inset:-1px}.portrait:after{content:"";z-index:2;pointer-events:none;opacity:.18;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.88' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)' opacity='.72'/%3E%3C/svg%3E");position:absolute;inset:0;display:block!important}.portrait span{z-index:3}@media (width<=900px){.portrait{background-position:50%;background-size:contain}.portrait:before{background:radial-gradient(circle at 50% 23%,#0000 0 14%,#0707061a 30%,#0707068c 72%,#070706 100%)}}.project:after{background:radial-gradient(340px circle at var(--gx) var(--gy),#e1e1e1ad,#cdcdcd57 42%,transparent 78%)}.modal-gallery figure:after{background:radial-gradient(320px circle at var(--gx) var(--gy),#e1e1e1ad,#cdcdcd57 42%,transparent 78%)}footer .mail{--gx:12%;--gy:50%;--glow:0;color:#fff;width:100%;box-shadow:none;-webkit-backdrop-filter:blur(20px);background:linear-gradient(90deg,#fdd36642 0%,#fdd3661f 34%,#fdd36609 68%,#0000 100%);border:0;border-radius:22px;justify-content:space-between;align-self:stretch;margin:auto 0;position:relative;overflow:hidden}footer .mail:after{content:"";z-index:2;border-radius:inherit;pointer-events:none;opacity:var(--glow);background:radial-gradient(380px circle at var(--gx) var(--gy),#ffffffad,#fdd36666 45%,transparent 80%);-webkit-mask-composite:xor;padding:2px;transition:opacity .1s linear;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}footer .mail:hover{color:#0a0907;background:linear-gradient(90deg,var(--acid) 0%,#fdd366c7 38%,#fdd36647 72%,transparent 100%);box-shadow:none;border-color:#0000;transform:none}footer .mail>*{z-index:1;position:relative}.portrait{background-position:50%;background-size:auto 104%}.portrait:before{background:radial-gradient(circle at 50% 23%,#0000 0 14%,#0707060f 28%,#07070661 62%,#070706 98%),linear-gradient(90deg,#070706 0%,#070706eb 7%,#07070652 23%,#0000 38% 62%,#07070661 78%,#070706f0 93%,#070706 100%),linear-gradient(#070706 0%,#070706d6 8%,#0000 26% 72%,#070706d1 90%,#070706 100%);inset:-2px}@media (width<=900px){footer .mail{border-radius:20px;width:100%}.portrait{background-size:auto 102%}.portrait:before{background:radial-gradient(circle at 50% 23%,#0000 0 14%,#07070614 30%,#07070675 68%,#070706 99%),linear-gradient(90deg,#070706 0%,#070706cc 10%,#0000 34% 66%,#070706cc 90%,#070706 100%)}}footer .mail{corner-shape:initial;justify-content:flex-start;align-self:center;gap:24px;width:100vw;margin:auto calc(50% - 50vw);padding-left:max(28px,50vw - 850px);padding-right:max(28px,50vw - 850px);border-radius:0!important}footer .mail svg{margin-left:0}:where(.nav-contact,.skill-card,.project,.project-img,.project-modal>article,.modal-gallery figure,.modal-content,.admin-note,.admin-list article,.admin-actions button,.admin-add,.editor,.editor input,.editor textarea,.image-upload,.gallery-editor>div,.editor-save,.contact-modal>article,.contact-modal figure img){corner-shape:squircle}.portrait{-webkit-mask-image:radial-gradient(70% 92% at 50% 47%,#000 42%,#000000f5 56%,#00000085 76%,#0000 100%);mask-image:radial-gradient(70% 92% at 50% 47%,#000 42%,#000000f5 56%,#00000085 76%,#0000 100%)}@media (width<=900px){footer .mail{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding-left:20px;padding-right:20px;border-radius:0!important}.portrait{-webkit-mask-image:radial-gradient(74% 92% at 50% 47%,#000 44%,#000000e6 62%,#0000 100%);mask-image:radial-gradient(74% 92% at 50% 47%,#000 44%,#000000e6 62%,#0000 100%)}}.project:after,.modal-gallery figure:after{border-radius:inherit;corner-shape:squircle}.project,.modal-gallery figure{corner-shape:squircle}.project-img{background:#050505}.project-img img{object-fit:contain}.project:hover img{transform:none}.modal-gallery figure{background:#050505}.modal-gallery img{object-fit:contain}.modal-gallery figure:first-child{min-height:min(72vh,850px)}.project-img img,.modal-gallery img{object-fit:cover}.waterfall{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;width:100%;height:1250px;display:grid;overflow:hidden;-webkit-mask-image:linear-gradient(#0000 0%,#000 7% 93%,#0000 100%);mask-image:linear-gradient(#0000 0%,#000 7% 93%,#0000 100%)}.waterfall-lane{min-width:0}.waterfall-track{will-change:transform;flex-direction:column;gap:36px;animation:42s linear infinite waterfallUp;display:flex}.lane-2 .waterfall-track{animation-name:waterfallDown;animation-duration:48s;transform:translateY(-50%)}.waterfall:hover .waterfall-track{animation-play-state:paused}.waterfall-set{gap:36px;display:grid}.waterfall .project{opacity:.46;transition:opacity .22s,background-color .1s linear}.waterfall .project:hover,.waterfall .project:focus-visible{opacity:1}.waterfall .project-img{aspect-ratio:auto;background:#050505}.waterfall .project-img img{object-fit:contain;width:100%;height:auto;display:block}.waterfall .project:hover img{transform:none}@keyframes waterfallUp{0%{transform:translateY(0)}to{transform:translateY(calc(-50% - 18px))}}@keyframes waterfallDown{0%{transform:translateY(calc(-50% - 18px))}to{transform:translateY(0)}}@media (width<=900px){.waterfall{grid-template-columns:1fr;gap:42px;height:auto;display:grid;overflow:visible;-webkit-mask-image:none;mask-image:none}.waterfall-track,.lane-2 .waterfall-track{animation:none;transform:none}.waterfall-set:nth-child(2){display:none}.waterfall .project{opacity:.78}.waterfall .project:hover{opacity:1}}.marquee{width:100vw;margin-left:calc(50% - 50vw);display:block;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 9% 91%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 9% 91%,#0000 100%)}.marquee-track{will-change:transform;gap:28px;width:max-content;animation:52s linear infinite portfolioReel;display:flex}.marquee-set{gap:28px;padding-right:0;display:flex}.marquee .project{opacity:.4;flex:0 0 clamp(430px,44vw,720px)}.marquee .project:hover,.marquee .project:focus-visible{opacity:1}.marquee .project-img{aspect-ratio:16/10}.marquee .project-img img{object-fit:cover;width:100%;height:100%}.marquee .project-meta{grid-template-columns:40px 1fr 1fr auto}@keyframes portfolioReel{0%{transform:translate(0)}to{transform:translate(calc(-50% - 14px))}}@media (width<=900px){.marquee{width:100vw;margin-left:calc(50% - 50vw);-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 5% 95%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 5% 95%,#0000 100%)}.marquee-track,.marquee:hover .marquee-track{animation-duration:38s}.marquee .project{opacity:.62;flex-basis:82vw}.marquee .project-meta{grid-template-columns:28px 1fr auto}.marquee .project-meta p{display:none}}.marquee{-webkit-mask-image:linear-gradient(90deg,#0000 0%,#0000001f 3%,#0000006b 8%,#000000c2 14%,#000 22% 78%,#000000c2 86%,#0000006b 92%,#0000001f 97%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#0000001f 3%,#0000006b 8%,#000000c2 14%,#000 22% 78%,#000000c2 86%,#0000006b 92%,#0000001f 97%,#0000 100%)}.marquee .project{opacity:.48}.marquee .project:hover{opacity:1}.nav-contact{border-radius:24px}.project{border-radius:28px}.project-img{border-radius:22px}.skill-card{border-radius:36px}.project-modal>article{border-radius:42px}.modal-gallery figure{border-radius:28px}.modal-close,.contact-close{corner-shape:squircle}.contact-modal>article{border-radius:38px}.admin-note{border-radius:22px}.admin-list article{border-radius:28px}.admin-actions button{border-radius:16px}.admin-add,.editor-save{border-radius:20px}.editor{border-radius:38px}.editor input,.editor textarea{border-radius:18px}.image-upload{border-radius:26px}.gallery-editor>div{border-radius:18px}.detail-grid section{corner-shape:squircle;background:#ffffff06;border-radius:28px;padding:28px}.project:after,.modal-gallery figure:after{corner-shape:squircle}@media (width<=900px){.marquee{-webkit-mask-image:linear-gradient(90deg,#0000 0%,#00000080 8%,#000 18% 82%,#00000080 92%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#00000080 8%,#000 18% 82%,#00000080 92%,#0000 100%)}.marquee-track,.marquee:hover .marquee-track{animation-duration:100s}.project{border-radius:22px}.project-img{border-radius:17px}.project-modal>article{border-radius:0}.detail-grid section{border-radius:22px}}@media (prefers-reduced-motion:reduce){.marquee-track,.marquee:hover .marquee-track{animation:140s linear infinite portfolioReel!important}}.marquee{overscroll-behavior-inline:contain;scrollbar-width:none;overflow:hidden}.marquee::-webkit-scrollbar{display:none}.marquee-track,.marquee:hover .marquee-track{animation:none!important}.marquee-set{flex:none}.marquee:hover .marquee-track{animation-play-state:initial}@media (prefers-reduced-motion:reduce){.marquee-track,.marquee:hover .marquee-track{animation:none!important}}.marquee .project{transition:opacity .58s cubic-bezier(.22,.7,.25,1),background-color .48s,border-color .48s}.project:after,.modal-gallery figure:after{transition:opacity .42s cubic-bezier(.22,.7,.25,1)}.marquee .project-img img{transition:filter .55s,transform .7s}.marquee .project:hover .project-img img{filter:brightness(1.06)}.project-modal .modal-content{corner-shape:squircle;background:linear-gradient(145deg,#ffffff06,#ffffff02);border-radius:38px;margin:10px;overflow:hidden}.project-modal .modal-content,.project-modal .modal-content:before,.project-modal .modal-content:after{corner-shape:squircle}@media (width<=900px){.project-modal .modal-content{border-radius:28px;margin:6px}}.project-modal>article{-webkit-backdrop-filter:none;box-shadow:none;background:0 0;overflow:visible}.project-modal .modal-content{background:0 0;border-radius:0;margin:0;overflow:visible}.project-modal .detail-grid section{background:linear-gradient(145deg,#fff1,#ffffff06);box-shadow:inset 0 1px #ffffff0b}.marquee-shell{isolation:isolate;width:100vw;margin-left:calc(50% - 50vw);position:relative;overflow:hidden}.marquee-shell:before,.marquee-shell:after{content:"";z-index:10;pointer-events:none;width:min(20vw,260px);position:absolute;top:0;bottom:0}.marquee-shell:before{background:linear-gradient(90deg,#070706 0%,#070706f0 18%,#0707068c 55%,#0000 100%);left:0}.marquee-shell:after{background:linear-gradient(270deg,#070706 0%,#070706f0 18%,#0707068c 55%,#0000 100%);right:0}.marquee-shell .marquee{width:100%;margin:0;position:relative;overflow:hidden;-webkit-mask-image:none!important;mask-image:none!important}.marquee-shell .marquee-track{will-change:auto;visibility:visible;width:max-content;min-width:max-content;display:inline-flex}.marquee-shell .marquee-set{flex:none;display:flex}.marquee-shell .project,.marquee-shell .project-img,.marquee-shell .project-img img{visibility:visible}@supports (-webkit-touch-callout:none){.marquee-shell .marquee{transform:translateZ(0)}.marquee-shell .marquee-track{-webkit-transform:translate(0,0)}.marquee-shell .project{transform:translateZ(0)}}@media (width<=900px){.marquee-shell:before,.marquee-shell:after{width:11vw}.marquee-shell:before{background:linear-gradient(90deg,#070706,#0000)}.marquee-shell:after{background:linear-gradient(270deg,#070706,#0000)}}.marquee-shell .marquee{overscroll-behavior-x:none;overscroll-behavior-inline:none}.marquee-shell .marquee-track{padding-inline:1px}.marquee-shell .marquee{touch-action:pan-y;cursor:grab;-webkit-user-select:none;user-select:none}.marquee-shell .marquee.is-dragging{cursor:grabbing}.marquee-shell .marquee.is-dragging .project{pointer-events:none}@media (width<=600px){html,body,#root{overscroll-behavior-x:none;width:100%;max-width:100%;overflow-x:hidden}.nav{height:62px;padding-inline:18px}.brand{font-size:14px}.brand span{margin-top:0;font-size:18px}.menu svg{width:24px;height:24px}.hero{height:100svh;min-height:620px;padding:0 18px max(24px,env(safe-area-inset-bottom))}.hero-bg{background-position:58%;background-size:auto 100%;width:100%;left:0;-webkit-mask-image:linear-gradient(90deg,#070706 0%,#070706b8 16%,#0000 48%,#000 100%);mask-image:linear-gradient(90deg,#070706 0%,#070706b8 16%,#0000 48%,#000 100%)}.hero h1{letter-spacing:-.055em;margin:20px 0 28px;font-size:13.5vw;line-height:.92}.hero h1 em{white-space:nowrap;margin-left:7vw;font-size:.46em}.eyebrow{letter-spacing:.14em;font-size:8px}.hero-bottom p{max-width:72%;font-size:10px;line-height:1.65}.circle{width:46px;height:46px}.section{padding:76px 18px}.about-grid{gap:28px;margin-top:34px}.portrait{background-size:auto 104%;height:112vw;max-height:520px}.about-copy{letter-spacing:.02em;font-size:13px;line-height:1.95}.about-copy>p{margin-bottom:20px}.contacts{gap:7px;padding-top:16px;font-size:9px}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:42px}.stats div,.stats div:not(:first-child){padding:18px 10px}.stats strong{font-size:31px}.stats span{font-size:7px;line-height:1.5}.section-head{margin-bottom:34px}.section-head>.section-label{margin-bottom:20px}.section-head h2{font-size:clamp(40px,13vw,52px);line-height:1}.section-head p{letter-spacing:.11em;font-size:8px}.section-label{font-size:8px}.marquee-shell:before,.marquee-shell:after{width:7vw}.marquee-track,.marquee-set{gap:14px}.marquee .project{border-radius:22px;flex-basis:84vw;padding:5px}.marquee .project-img{aspect-ratio:4/3;border-radius:18px}.marquee .project-meta{grid-template-columns:24px 1fr auto;margin-top:5px;padding:10px 3px 2px}.marquee .project-meta h3{font-size:13px;line-height:1.2}.marquee .project-meta span,.marquee .project-meta time{font-size:8px}.marquee .project-meta p{display:none}.skills{padding-bottom:90px}.skill-grid{gap:12px}.skill-card{border-radius:28px;height:auto;min-height:290px;padding:22px}.skill-card>svg{width:42px;height:42px}.skill-card h3{margin-bottom:12px;font-size:27px}.skill-card p{font-size:12px}footer{height:auto;min-height:650px;padding:80px 18px max(22px,env(safe-area-inset-bottom))}footer .section-label{top:80px}footer .mail{gap:14px;min-height:92px;padding-inline:18px;font-size:30px}footer .footer-bar{gap:10px;font-size:7px}.project-modal{align-items:start;padding:10px}.project-modal>article{border-radius:28px;width:100%;min-height:0;overflow:hidden}.modal-close{width:44px;height:44px;position:fixed;top:18px;right:18px}.modal-gallery{gap:8px}.modal-gallery figure,.modal-gallery figure:first-child{border-radius:20px;min-height:0}.modal-content{padding:26px 14px 18px}.modal-title h2{font-size:clamp(34px,11vw,48px);line-height:1}.detail-grid{gap:14px;margin-top:32px}.detail-grid section{border-radius:22px;padding:20px}.detail-grid h3{font-size:20px}.detail-grid p{font-size:13px;line-height:1.8}.contact-modal{padding:14px}.contact-modal>article{border-radius:30px;width:100%;padding:28px 20px}.contact-modal h2{font-size:34px}.contact-modal dl{grid-template-columns:48px 1fr;font-size:11px}.contact-modal figure{width:150px}}.project[data-ratio="16/10"] .project-img{aspect-ratio:16/10}.project[data-ratio="4/3"] .project-img{aspect-ratio:4/3}.project[data-ratio="1/1"] .project-img{aspect-ratio:1}.project[data-ratio="4/5"] .project-img{aspect-ratio:4/5}.project[data-fit=cover] .project-img img{object-fit:cover}.project[data-fit=contain] .project-img img{object-fit:contain;background:#050505}.editor select{corner-shape:squircle;color:#eee;width:100%;font:inherit;background:#171714;border:1px solid #ffffff16;border-radius:18px;outline:none;margin-top:8px;padding:13px 14px}.editor-size-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-editor-head label.disabled{opacity:.35;pointer-events:none}@media (width<=600px){.editor-size-grid{grid-template-columns:1fr}.project[data-ratio] .project-img{height:auto}}.admin-unavailable{color:#eee;text-align:center;background:#070706;place-content:center;justify-items:center;gap:12px;min-height:100svh;display:grid}.admin-unavailable span{letter-spacing:.2em;color:#777;font-size:11px}.admin-unavailable h1{letter-spacing:-.05em;margin:0;font-size:clamp(34px,7vw,88px)}.admin-unavailable a{corner-shape:squircle;color:#fdd366;border:1px solid #ffffff20;border-radius:18px;margin-top:22px;padding:12px 20px;text-decoration:none}@media (width<=600px){.hero{align-items:flex-end;height:82svh;min-height:610px;max-height:760px;padding-bottom:22px}.hero-bg{background-position:58%;background-size:auto 100%;height:auto;inset:62px 0 0}.hero-copy{text-align:center;flex-direction:column;align-items:center;padding-bottom:2vh;display:flex}.hero .eyebrow{order:1;align-self:center;margin-bottom:8px}.hero h1{text-align:center;letter-spacing:-.055em;order:2;width:100%;margin:0 0 16px;font-size:12.5vw;line-height:.88;transform:translateY(-3vh)}.hero h1 span{opacity:0;animation:.7s cubic-bezier(.2,.8,.2,1) .8s forwards mobileTitleBold;display:inline-block}.hero h1 em{white-space:nowrap;opacity:0;margin:4px 0 0;font-size:.47em;animation:.7s cubic-bezier(.2,.8,.2,1) .15s forwards mobileTitleScript;display:inline-block;transform:translateY(14px)rotate(-4deg)}.hero-bottom{text-align:left;order:3;width:100%}.hero-bottom p{font-size:9px}.circle{width:42px;height:42px}@keyframes mobileTitleScript{to{opacity:1;transform:translateY(0)rotate(-4deg)}}@keyframes mobileTitleBold{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.portrait{background-position:50%;background-size:auto 106%;height:116vw;max-height:560px;-webkit-mask-image:radial-gradient(76% 82% at 50% 48%,#000 38%,#000000eb 58%,#00000075 78%,#0000 100%);mask-image:radial-gradient(76% 82% at 50% 48%,#000 38%,#000000eb 58%,#00000075 78%,#0000 100%)}.portrait:before{background:radial-gradient(76% 82% at 50% 48%,#0000 34%,#07070614 56%,#07070685 79%,#070706 100%)}.portrait span{display:none}.work .section-head h2{letter-spacing:-.035em;font-size:9vw;font-weight:500}.work .section-head{margin-bottom:26px}.work .section-head>.section-label{margin-bottom:18px}.work .marquee-shell{width:100%;height:clamp(620px,150vw,760px);margin-left:0;overflow:hidden}.work .marquee{touch-action:pan-y;width:100%;height:100%;overflow:hidden}.work .marquee-track{will-change:transform;flex-direction:column;gap:28px;width:100%!important;min-width:0!important;padding:0!important;animation:72s linear infinite mobileVerticalReel!important;display:flex!important}.work .marquee-set,.work .marquee-set:not(:first-child){flex:none;grid-template-columns:1fr;gap:28px;width:100%;display:grid}.work .project{opacity:.76;background:#ffffff05;width:100%;padding:5px;transform:none!important}.work .project-img{aspect-ratio:16/10}.work .project-meta h3{font-size:13px}@keyframes mobileVerticalReel{0%{transform:translate(0,0)}to{transform:translateY(calc(-33.3333% - 9.34px))}}#skill{display:none}footer{background:linear-gradient(#070706 0%,#0b0907 52%,#070706 100%);height:auto;min-height:58svh;padding-top:72px}footer .footer-bg{opacity:1;filter:none;background:linear-gradient(#070706 0%,#0b0907 52%,#070706 100%)}footer:before{display:none}footer:after{opacity:.08}footer .mail{-webkit-backdrop-filter:none;color:#fff;align-self:flex-start;gap:10px;width:auto;margin:auto 0;padding:0;font-size:34px;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important}footer .mail:after{display:none}footer .mail:hover{color:var(--acid);background:0 0!important}footer .mail svg{width:27px;height:27px;margin-left:0}}@media (width<=600px) and (prefers-reduced-motion:reduce){.hero h1 span,.hero h1 em{opacity:1;animation:none;transform:none}.work .marquee-track{animation:none!important}}@media (width<=600px){.nav nav{width:100vw;height:calc(100svh - 62px);padding:36px 20px max(32px,env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(24px);z-index:2;background:#070706fb;justify-content:center;gap:28px;position:absolute;inset:62px 0 auto;transform:translateY(calc(-100% - 62px))}.nav nav.open{transform:translateY(0)}.nav nav button{font-size:34px}.nav .nav-contact{border-radius:20px;height:48px;padding-inline:24px}.hero{background:#070706;align-items:flex-end;height:100svh;min-height:760px;padding:0 18px 30px}.hero-bg{filter:contrast(1.04)brightness(.78);background-position:58%;background-size:auto 100%;width:100%;height:auto;inset:62px 0 0;-webkit-mask-image:linear-gradient(#000 0% 69%,#000000d1 82%,#0000 100%);mask-image:linear-gradient(#000 0% 69%,#000000d1 82%,#0000 100%)}.hero:after{background:linear-gradient(90deg,#0707069e 0%,#0000 48%),linear-gradient(#0000 63%,#070706 100%)}.hero-copy{padding-top:48vh}.hero h1{max-width:94%;margin:16px 0 24px;font-size:13vw;line-height:.9}.hero h1 em{white-space:nowrap;margin-top:.1em;margin-left:20vw;font-size:.48em}.hero-bottom{padding-top:12px}.hero-bottom p{letter-spacing:.03em;font-size:9px}.eyebrow{font-size:7px}.about{padding-top:48px}.about>.section-label{margin-bottom:20px}.about-grid{flex-direction:column;gap:22px;margin-top:0;display:flex}.portrait{background-position:50%;background-size:auto 106%;order:0;width:100vw;height:138vw;max-height:none;margin-left:-18px;-webkit-mask-image:linear-gradient(#000 0% 76%,#000000c7 88%,#0000 100%);mask-image:linear-gradient(#000 0% 76%,#000000c7 88%,#0000 100%)}.portrait span{letter-spacing:.02em;color:var(--acid);font-family:Great Vibes,Snell Roundhand,cursive;font-size:22px;bottom:14%;left:28px}.about-copy{letter-spacing:.015em;order:1;padding:2px 2px 0;font-size:12px;line-height:1.9}.about-copy>p{text-indent:2em;text-align:justify;margin-bottom:18px}.contacts{margin-top:26px}.stats{margin-top:34px}.stats div{corner-shape:squircle;background:#ffffff05;border-radius:18px!important}.stats strong{font-weight:700}.work{padding-top:70px;padding-bottom:80px}.work .section-head h2{font-size:12vw}.work .section-head p{font-size:7px}.marquee-shell{width:100%;margin-left:0;overflow:visible}.marquee-shell:before,.marquee-shell:after{display:none}.marquee-shell .marquee{touch-action:pan-y;cursor:default;width:100%;overflow:visible}.marquee-shell .marquee-track{width:100%!important;min-width:0!important;padding:0!important;display:block!important}.marquee-shell .marquee-set{grid-template-columns:1fr;gap:30px;width:100%;display:grid}.marquee-shell .marquee-set:not(:first-child){display:none}.marquee-shell .project{opacity:1;background:#ffffff05;border-radius:24px;width:100%;padding:6px;transform:none!important}.marquee-shell .project-img{aspect-ratio:16/10;border-radius:19px;width:100%}.marquee-shell .project-meta{grid-template-columns:24px 1fr auto;margin:0;padding:11px 5px 5px}.marquee-shell .project-meta h3{font-size:14px}.marquee-shell .project-meta span,.marquee-shell .project-meta time{font-size:7px}.marquee-shell .marquee.is-dragging .project{pointer-events:auto}.skills{padding-top:72px}.contact-modal>article{max-height:calc(100svh - 28px);overflow:auto}.hero{align-items:flex-end;height:82svh;min-height:610px;max-height:760px;padding-bottom:22px}.hero-copy{text-align:center;align-items:center;padding-bottom:4vh}.hero .eyebrow{align-self:center;margin:0 0 16px}.hero h1{text-align:center;margin:0 0 16px;font-size:12.5vw;line-height:.88;transform:none}.hero h1 em{white-space:nowrap;margin:4px 0 0;font-size:.47em}.portrait{background-position:50%;background-size:auto 106%;height:116vw;max-height:560px;-webkit-mask-image:none;mask-image:none}.portrait:before{background:linear-gradient(#070706 0%,#070706d1 8%,#07070633 22%,#0000 34% 66%,#07070647 80%,#070706e6 94%,#070706 100%),linear-gradient(90deg,#070706 0%,#070706d6 8%,#07070638 24%,#0000 38% 62%,#07070640 77%,#070706e0 93%,#070706 100%);inset:-2px}.portrait span{display:none}.work .section-head{margin-bottom:26px}.work .section-head>.section-label{margin-bottom:18px}.work .section-head h2{letter-spacing:-.035em;font-size:9vw;font-weight:500}.work .marquee-shell{width:100%;height:clamp(620px,150vw,760px);margin-left:0;overflow:hidden}.work .marquee-shell:before,.work .marquee-shell:after{z-index:12;pointer-events:none;width:100%;height:clamp(72px,22vw,112px);display:block;left:0;right:0}.work .marquee-shell:before{background:linear-gradient(#070706 0%,#070706f0 18%,#07070694 55%,#0000 100%);top:0;bottom:auto}.work .marquee-shell:after{background:linear-gradient(#0000 0%,#07070694 45%,#070706f0 82%,#070706 100%);top:auto;bottom:0}.work,.work .marquee-shell,.work .marquee,.work .project{overscroll-behavior-x:none;max-width:100%;overflow-x:hidden}.work .marquee{-webkit-user-select:none;user-select:none;width:100%;height:100%;overflow-y:hidden;touch-action:none!important}.work .marquee-track{will-change:transform;flex-direction:column;gap:28px;width:100%!important;min-width:0!important;padding:0!important;animation:72s linear infinite mobileVerticalReel!important;display:flex!important}.work .marquee-set,.work .marquee-set:not(:first-child){flex:none;grid-template-columns:1fr;gap:28px;width:100%;display:grid}.work .project{opacity:.76;background:#ffffff05;width:100%;padding:5px}.project-modal .modal-gallery{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;touch-action:pan-x;-webkit-overflow-scrolling:touch;perspective:1100px;scrollbar-width:none;grid-template-columns:none;gap:14px;width:100%;padding:14px 8vw 20px;scroll-padding-inline:8vw;display:flex;overflow:auto hidden}.project-modal .modal-gallery::-webkit-scrollbar{display:none}.project-modal .modal-gallery figure,.project-modal .modal-gallery figure:first-child{aspect-ratio:4/5;scroll-snap-align:center;scroll-snap-stop:always;opacity:.72;border-radius:28px;flex:0 0 84vw;grid-column:auto;width:84vw;min-height:0;transition:opacity .3s,transform .3s cubic-bezier(.2,.75,.2,1);transform:perspective(1100px)rotateY(-2deg)scale(.96);box-shadow:0 24px 70px #0000007a}.project-modal .modal-gallery figure:first-child,.project-modal .modal-gallery figure:active{opacity:1;transform:perspective(1100px)rotateY(0)scale(1)}.project-modal .modal-gallery img{object-fit:cover;width:100%;height:100%;display:block}.project-modal .modal-gallery figure span{-webkit-backdrop-filter:blur(12px);background:#050505a3;bottom:12px;right:12px}#skill{display:none}footer{background:linear-gradient(#070706 0%,#0b0907 52%,#070706 100%);height:auto;min-height:58svh}footer .footer-bg{opacity:1;filter:none;background:linear-gradient(#070706 0%,#0b0907 52%,#070706 100%)}footer .mail{-webkit-backdrop-filter:none;color:#fff;align-self:flex-start;gap:10px;width:auto;margin:auto 0;padding:0;font-size:34px;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important}footer .mail:after{display:none}}.editor-save:disabled{opacity:.45;cursor:not-allowed}html,body,#root,main,.nav,.hero,.about,.work,.skills,footer,.project,.skill-card,.modal-content,.detail-grid section{transition:background-color .55s,color .55s,border-color .55s,box-shadow .55s}.hero-bg{opacity:0;will-change:opacity,transform,filter;transform:scale(1.03);animation:1.35s cubic-bezier(.18,.72,.18,1) .72s forwards heroImageReveal!important}.hero .eyebrow,.hero h1 span,.hero h1 em,.hero-bottom{opacity:0;will-change:opacity,transform}.hero .eyebrow{animation:.65s cubic-bezier(.2,.8,.2,1) 80ms forwards heroTextReveal}.hero h1 em{animation:.72s cubic-bezier(.2,.8,.2,1) .18s forwards heroScriptReveal!important}.hero h1 span{display:inline-block;animation:.72s cubic-bezier(.2,.8,.2,1) .38s forwards heroTextReveal!important}.hero-bottom{animation:.7s cubic-bezier(.2,.8,.2,1) .58s forwards heroTextReveal}@keyframes heroTextReveal{0%{opacity:0;filter:blur(8px);transform:translateY(18px)}to{opacity:1;filter:blur();transform:none}}@keyframes heroScriptReveal{0%{opacity:0;filter:blur(8px);transform:translateY(18px)rotate(-8deg)}to{opacity:1;filter:blur();transform:rotate(-4deg)}}@keyframes heroImageReveal{0%{opacity:0;filter:contrast(1.05)brightness(.55)blur(16px);transform:scale(1.08)}to{opacity:1;filter:contrast(1.05)brightness(.8)blur();transform:scale(1)}}@media (width<=600px){.hero-bg{opacity:0;animation:1.25s cubic-bezier(.18,.72,.18,1) .72s forwards heroImageRevealMobile!important}@keyframes heroImageRevealMobile{0%{opacity:0;filter:contrast(1.04)brightness(.58)blur(14px);transform:scale(1.08)}to{opacity:1;filter:contrast(1.04)brightness(.78)blur();transform:scale(1)}}}@media (prefers-reduced-motion:reduce){.hero-bg,.hero .eyebrow,.hero h1 span,.hero h1 em,.hero-bottom{opacity:1!important;filter:none!important;transform:none!important}}.mobile-reel-controls{display:none}@media (width<=600px){.work .marquee-shell{position:relative}.mobile-reel-controls{z-index:20;pointer-events:none;gap:8px;display:grid;position:absolute;top:50%;right:9px;transform:translateY(-50%)}.mobile-reel-controls button{pointer-events:auto;corner-shape:squircle;color:#f4f0e8;-webkit-backdrop-filter:blur(14px);touch-action:manipulation;background:#07070661;border:1px solid #ffffff29;border-radius:15px;place-items:center;width:38px;height:38px;transition:background .28s,border-color .28s,color .28s,transform .28s cubic-bezier(.2,.8,.2,1),opacity .28s;display:grid;box-shadow:inset 0 1px #ffffff14,0 14px 34px #00000038}.mobile-reel-controls button svg{stroke-width:2.4px;width:19px;height:19px}.mobile-reel-controls button:active{color:#080807;background:#fdd366e6;border-color:#fdd366f2;transform:scale(.92)}}.circle svg{transform-origin:50%;transition:transform .32s cubic-bezier(.2,.78,.18,1)}.circle:is(:hover,:focus-visible,:active){background:var(--acid);color:#111;transform:none}.circle:is(:hover,:focus-visible,:active) svg{transform:rotate(35deg)}.nav{background:linear-gradient(#070706f5 0%,#070706e0 72%,#070706b3 100%);overflow:visible;border-bottom:0!important}.nav:after{content:"";z-index:-1;pointer-events:none;background:linear-gradient(#070706b3 0%,#0707064d 42%,#07070614 72%,#0000 100%);width:100%;height:46px;position:absolute;top:100%;left:0}@media (width<=600px){.nav:after{background:linear-gradient(#070706b8 0%,#07070642 48%,#0000 100%);height:34px}}footer .mail{color:#fff;-webkit-backdrop-filter:none;letter-spacing:-.035em;align-self:flex-start;gap:12px;width:auto;margin:auto 0;padding:0;font-size:clamp(34px,5vw,72px);font-weight:900;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important}footer .mail:after{display:none}footer .mail:hover{color:var(--acid);box-shadow:none;transform:none;background:0 0!important}footer .mail svg{stroke-width:2.5px;width:.72em;height:.72em;margin-left:0}@media (width>=901px){footer:before{display:none}footer .mail{-webkit-backdrop-filter:none;background:0 0!important}}@media (width<=600px){footer .mail{gap:10px;font-size:34px}}.hero-bg{background-color:#0000;background-image:url(/assets/portfolio/hero-motorcycle.png);background-position:50% 58%;background-repeat:no-repeat;background-size:cover;width:72%;inset:0 0 0 28%;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#00000059 15%,#000000c7 29%,#000 44% 100%);mask-image:linear-gradient(90deg,#0000 0%,#00000059 15%,#000000c7 29%,#000 44% 100%)}.hero-bg:after{display:none}@media (width<=600px){.hero-bg{background-position:58%;background-size:auto 100%;width:100%;height:auto;inset:62px 0 0;-webkit-mask-image:linear-gradient(#000 0% 69%,#000000d1 82%,#0000 100%);mask-image:linear-gradient(#000 0% 69%,#000000d1 82%,#0000 100%)}.hero-bg:after{display:none}}.portrait{background-color:#070706;background-image:url(/assets/portfolio/about-person-red.png);background-position:50%;background-repeat:no-repeat;background-size:contain;-webkit-mask-image:none;mask-image:none}.portrait:before{display:none}@media (width<=600px){.portrait{background-position:50%;background-size:contain;-webkit-mask-image:none;mask-image:none}.portrait:before{display:none}}.portrait span{display:none!important}@media (width>=901px){.about-grid{grid-template-columns:minmax(420px,520px) minmax(360px,520px);justify-content:center;align-items:start;gap:clamp(36px,4vw,56px)}.about-copy{letter-spacing:.025em;flex-direction:column;align-self:start;height:680px;padding-top:0;font-size:13px;font-weight:400;line-height:1.9;display:flex}.about-copy>p{margin:0 0 18px;text-indent:0!important}.about-copy .contacts{margin-top:auto}}.portrait-work{padding-top:120px;position:relative}.portrait-work.is-empty{padding-bottom:150px}.empty-portfolio{corner-shape:squircle;color:#f1eee6;text-align:center;isolation:isolate;background:radial-gradient(circle at 50% 42%,#fdd36614,#0000 38%),linear-gradient(145deg,#ffffff09,#ffffff02);border-radius:34px;place-content:center;justify-items:center;gap:12px;min-height:clamp(300px,32vw,500px);display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0e,0 30px 90px #0003}.empty-portfolio:before{content:"";z-index:-1;aspect-ratio:1;filter:blur(80px);background:#fdd3661a;border-radius:50%;width:42%;animation:8s ease-in-out infinite alternate emptyArchiveGlow;position:absolute}.empty-portfolio span{letter-spacing:.22em;color:#777770;font-size:9px}.empty-portfolio strong{letter-spacing:.04em;font-size:clamp(26px,3vw,48px);font-weight:500}.empty-portfolio p{letter-spacing:.14em;color:#777770;margin:0;font-size:9px}@keyframes emptyArchiveGlow{0%{opacity:.4;transform:translate(-30%,8%)}to{opacity:.85;transform:translate(30%,-8%)}}.nav nav .nav-contact,.nav nav .nav-contact:hover,.nav nav .nav-contact:focus-visible,.nav nav .nav-contact:active{color:#090908;-webkit-text-fill-color:#090908}@media (width<=600px){.portrait-work{padding-top:64px}.portrait-work.is-empty{padding-bottom:86px}.empty-portfolio{border-radius:28px;min-height:360px}.empty-portfolio strong{font-size:28px}}@media (prefers-reduced-motion:reduce){.empty-portfolio:before{animation:none}}:root{--sp-ink:#171916;--sp-muted:#6d716b;--sp-line:#e4e7e0;--sp-bg:#f3f5f0;--sp-card:#fff;--sp-lime:#d7ff3f;--sp-dark:#181b17}*{box-sizing:border-box}.shot-planner{background:var(--sp-bg);min-height:100svh;color:var(--sp-ink);letter-spacing:-.01em;font-family:Inter,Noto Sans SC,sans-serif}.shot-planner button,.shot-planner input{font:inherit}.shot-planner button{color:inherit}.sp-topbar{z-index:30;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--sp-line);background:#ffffffeb;grid-template-columns:260px 1fr auto;align-items:center;height:72px;display:grid;position:fixed;inset:0 0 auto}.sp-logo{border-right:1px solid var(--sp-line);align-items:center;gap:11px;height:72px;padding:0 24px;display:flex}.sp-logo>span{background:var(--sp-dark);width:35px;height:35px;color:var(--sp-lime);border-radius:11px;place-items:center;display:grid;transform:rotate(-4deg)}.sp-logo svg{width:19px}.sp-logo div{flex-direction:column;display:flex}.sp-logo b{letter-spacing:.07em;font-size:14px}.sp-logo small{letter-spacing:.18em;color:#8a8e87;font:500 8px/1.2 DM Mono,monospace}.project-name{align-items:center;gap:10px;height:100%;padding:0 28px;display:flex}.project-name>span{color:#90948d;margin-right:6px;font-size:11px}.project-name b{font-size:13px}.project-name svg{width:14px}.top-actions{align-items:center;gap:8px;height:100%;padding:0 22px;display:flex}.top-actions>button{background:0 0;border:0;border-radius:12px;place-items:center;width:38px;height:38px;display:grid}.top-actions>button:hover{background:#f0f2ed}.top-actions svg{width:17px}.saved{color:#858a83;align-items:center;gap:6px;margin-right:10px;font-size:10px;display:flex}.saved svg{color:#6a9b20;width:14px}.avatar{background:var(--sp-dark);color:#fff;border-radius:50%;place-items:center;width:37px;height:37px;margin-left:6px;font-size:11px;font-weight:700;display:grid}.sp-sidebar{z-index:20;border-right:1px solid var(--sp-line);background:#fff;flex-direction:column;width:260px;padding:30px 20px 20px;display:flex;position:fixed;top:72px;bottom:0;left:0}.side-project{border-bottom:1px solid var(--sp-line);flex-direction:column;padding:0 10px 28px;display:flex}.side-project small,.stage-kicker{letter-spacing:.12em;color:#92968f;font:500 9px/1.2 DM Mono,monospace}.side-project b{letter-spacing:-.04em;margin:13px 0 8px;font-size:20px;line-height:1.08}.side-project span{color:#858a83;font:500 10px/1 DM Mono}.sp-sidebar nav{padding:25px 0}.sp-sidebar nav button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:14px;align-items:center;gap:13px;width:100%;height:64px;padding:0 10px;display:flex;position:relative}.sp-sidebar nav button:after{content:"";background:#dfe2dc;width:1px;height:31px;position:absolute;top:49px;left:23px}.sp-sidebar nav button:last-child:after{display:none}.sp-sidebar nav button:hover{background:#f6f7f4}.sp-sidebar nav button.active{background:#f0f2ed}.sp-sidebar nav button>i{z-index:1;background:#fff;border:1px solid #d5d9d2;border-radius:50%;place-items:center;width:27px;height:27px;font:500 10px DM Mono;display:grid;position:relative}.sp-sidebar nav button.active>i{background:var(--sp-dark);border-color:var(--sp-dark);color:var(--sp-lime)}.sp-sidebar nav button.complete>i{color:#4f7417;background:#effbd1;border-color:#c8df82}.sp-sidebar nav button>i svg{width:13px}.sp-sidebar nav button>span{flex-direction:column;gap:4px;display:flex}.sp-sidebar nav small{color:#aaa;font:500 8px DM Mono}.sp-sidebar nav b{font-size:12px;font-weight:600}.side-summary{background:#f5f6f2;border-radius:15px;margin-top:auto;padding:16px}.side-summary>small{letter-spacing:.14em;color:#969a93;margin-bottom:12px;font:500 8px DM Mono;display:block}.side-summary div{justify-content:space-between;align-items:center;padding:6px 0;font-size:10px;display:flex}.side-summary div span{color:#898d86}.side-summary div b{font-size:11px}.back-site{color:#8b8f88;align-items:center;gap:8px;margin:17px 8px 0;font-size:10px;text-decoration:none;display:flex}.back-site svg{width:14px}.sp-main{min-height:100svh;padding:72px 0 0 260px}.sp-stage{width:min(1180px,100% - 72px);margin:0 auto;padding:54px 0 80px}.stage-intro{max-width:620px}.stage-kicker{margin-bottom:15px;display:block}.stage-intro h1,.stage-toolbar h1,.shots-heading h1{letter-spacing:-.055em;margin:0 0 17px;font-size:clamp(34px,4vw,55px);line-height:1.02}.stage-intro p{color:var(--sp-muted);max-width:520px;font-size:14px;line-height:1.8}.import-stage{grid-template-columns:minmax(320px,.8fr) minmax(480px,1.2fr);align-items:center;gap:80px;min-height:calc(100svh - 72px);display:grid;position:relative}.import-card{background:#fff;border:1px solid #e1e5dc;border-radius:24px;padding:28px;box-shadow:0 22px 60px #1e271514}.import-card-head{align-items:center;gap:13px;margin-bottom:22px;display:flex}.feishu-mark{color:#3268e8;background:#e9f0ff;border-radius:13px;place-items:center;width:44px;height:44px;display:grid}.feishu-mark svg{width:21px}.import-card-head>div{flex-direction:column;gap:4px;display:flex}.import-card-head b{font-size:14px}.import-card-head p{color:#8a8f87;margin:0;font-size:10px}.secure{color:#7f857c;align-items:center;gap:5px;margin-left:auto;font-size:9px;display:flex}.secure svg{width:13px}.link-field{background:#fafbf8;border:1px solid #d9ddd5;border-radius:13px;align-items:center;gap:9px;height:50px;padding:0 13px;display:flex}.link-field>svg{color:#80867d;width:16px}.link-field input{color:#52574f;background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:11px}.link-field button{background:0 0;border:0;place-items:center;padding:5px;display:grid}.link-field button svg{color:#aaa;width:14px}.import-preview{background:#f3f5f0;border-radius:13px;align-items:center;gap:12px;margin:13px 0 20px;padding:14px;display:flex}.doc-icon{color:#6d7567;background:#fff;border-radius:7px;place-items:center;width:35px;height:40px;display:grid}.doc-icon svg{width:16px}.import-preview>div:nth-child(2){flex-direction:column;gap:4px;min-width:0;display:flex}.import-preview small{color:#9a9e97;font-size:8px}.import-preview strong{white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.import-preview span{color:#8c9189;font-size:8px}.import-preview>svg{color:#77a72d;width:18px;margin-left:auto}.primary-action,.deliverables>button,.sticky-action>button{background:var(--sp-dark);color:#fff;cursor:pointer;border:0;border-radius:13px;justify-content:center;align-items:center;gap:10px;width:100%;height:50px;font-size:11px;font-weight:650;transition:transform .2s,background .2s;display:flex}.primary-action:hover,.deliverables>button:hover,.sticky-action>button:hover{background:#292e27;transform:translateY(-1px)}.primary-action svg,.secondary-action svg,.sticky-action button svg,.deliverables button svg{width:16px}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.or{justify-content:center;align-items:center;height:28px;display:flex;position:relative}.or:before{content:"";background:#eaede7;height:1px;position:absolute;left:0;right:0}.or span{color:#aaa;background:#fff;padding:0 10px;font-size:9px;position:relative}.secondary-action{background:#fff;border:1px solid #e0e4dc;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;height:45px;font-size:10px;display:flex}.import-foot{gap:34px;display:flex;position:absolute;bottom:55px;left:0}.import-foot div{align-items:center;gap:9px;display:flex}.import-foot b{color:#afb3ac;font:500 10px DM Mono}.import-foot span{color:#838880;font-size:9px}.stage-toolbar,.shots-heading{justify-content:space-between;align-items:flex-end;margin-bottom:32px;display:flex}.stage-toolbar h1{margin:0}.confidence{background:#eafaaf;border:1px solid #d4ed81;border-radius:13px;align-items:center;gap:10px;padding:11px 15px;display:flex}.confidence svg{color:#65850c;width:18px}.confidence span{font-size:10px}.confidence b{font-size:13px}.product-summary{border:1px solid var(--sp-line);background:#fff;border-radius:20px;align-items:center;margin-bottom:38px;padding:20px;display:flex}.product-glyph{color:#d7ff3f;background:#20241f;border-radius:15px;place-items:center;width:105px;height:92px;display:grid;position:relative;overflow:hidden}.product-glyph>span{color:#78816f;font:500 9px DM Mono;position:absolute;bottom:8px;left:10px}.tool-shape{background:#d7ff3f;border-radius:8px 12px 8px 8px;width:64px;height:32px;position:relative;transform:rotate(-6deg)}.tool-shape i:first-child{background:#d7ff3f;border-radius:3px 4px 9px 9px;width:26px;height:38px;position:absolute;top:22px;left:14px;transform:skew(-5deg)}.tool-shape i:nth-child(2){background:#8ca626;border-radius:2px 6px 6px 2px;width:19px;height:17px;position:absolute;top:7px;right:-13px}.tool-shape i:nth-child(3){background:#555d4b;width:20px;height:5px;position:absolute;top:13px;right:-30px}.product-info{margin-left:20px}.product-info>small{letter-spacing:.12em;color:#999e96;font:500 8px DM Mono}.product-info h2{letter-spacing:-.035em;margin:7px 0 5px;font-size:21px}.product-info p{color:#7d827a;margin:0;font-size:10px}.chips{gap:6px;margin-top:12px;display:flex}.chips span{color:#6d726a;background:#f1f3ee;border-radius:20px;padding:5px 8px;font-size:8px}.ghost-button{background:#fff;border:1px solid #dfe3db;border-radius:11px;align-items:center;gap:7px;height:38px;margin-left:auto;padding:0 13px;font-size:9px;display:flex}.ghost-button svg{width:14px}.section-title{justify-content:space-between;align-items:end;margin-bottom:16px;display:flex}.section-title h3{margin:0 0 6px;font-size:17px}.section-title p{color:#858a83;margin:0;font-size:10px}.section-title>span{color:#91968e;font:500 9px DM Mono}.points-list{flex-direction:column;gap:8px;display:flex}.points-list article{opacity:.62;cursor:pointer;background:#ffffff9e;border:1px solid #e2e5df;border-radius:14px;grid-template-columns:28px 35px minmax(300px,1fr) 190px 18px;align-items:center;gap:10px;padding:15px 18px;transition:all .2s;display:grid}.points-list article:hover{border-color:#c9cec4}.points-list article.selected{opacity:1;background:#fff;box-shadow:0 7px 20px #20281809}.check,.shot-check{background:#fff;border:1px solid #cbd0c7;border-radius:6px;place-items:center;width:20px;height:20px;padding:0;display:grid}.selected .check{background:var(--sp-dark);border-color:var(--sp-dark);color:var(--sp-lime)}.check svg,.shot-check svg{width:12px}.point-number{color:#a3a79f;font:500 9px DM Mono}.point-main>div{align-items:center;gap:7px;display:flex}.point-main h4{margin:0;font-size:12px}.point-main p{color:#555b52;margin:7px 0 5px;font-size:10px}.point-main small{color:#9a9e97;font-size:8px}.priority,.point-main em{color:#777d74;background:#eff1ed;border-radius:5px;padding:4px 6px;font-size:7px;font-style:normal}.priority.core{color:#a84c34;background:#f9e6de}.proof{border-left:1px solid #e7e9e4;flex-direction:column;gap:6px;padding-left:18px;display:flex}.proof small{color:#969b93;font-size:8px}.proof b{font-size:9px;font-weight:550}.points-list article>svg{color:#a8aca5;width:16px}.sticky-action{color:#fff;background:#191d18f5;border-radius:17px;align-items:center;margin-top:22px;padding:13px 14px 13px 18px;display:flex;position:sticky;bottom:20px;box-shadow:0 16px 40px #141c102e}.sticky-action>div{align-items:center;gap:11px;display:flex}.sticky-action>div>svg{width:18px;color:var(--sp-lime)}.sticky-action>div span{flex-direction:column;gap:3px;display:flex}.sticky-action>div b{font-size:10px}.sticky-action>div small{color:#aeb3ac;font-size:8px}.sticky-action>button{background:var(--sp-lime);color:#1a1d18;width:auto;height:42px;margin-left:auto;padding:0 22px}.sticky-action>button:hover{background:#e2ff73}.brand-switch{grid-template-columns:1fr 1fr;gap:10px;height:92px;margin-bottom:18px;display:grid}.brand-switch button{text-align:left;cursor:pointer;background:#fff;border:1px solid #dfe3dc;border-radius:17px;align-items:center;padding:0 22px;display:flex;position:relative;overflow:hidden}.brand-switch button:after{content:"";background:0 0;border-radius:3px;height:4px;position:absolute;bottom:0;left:20px;right:20px}.brand-switch button.active{border-color:var(--brand)}.brand-switch button.active:after{background:var(--brand)}.brand-switch span{letter-spacing:-.04em;font-size:19px;font-weight:800}.brand-switch small{color:#92968f;letter-spacing:.1em;margin-left:12px;font:500 8px DM Mono}.brand-switch i{color:#fff;border:1px solid #dfe3dc;border-radius:50%;place-items:center;width:25px;height:25px;margin-left:auto;font-style:normal;display:grid}.brand-switch button.active i{background:var(--brand);border-color:var(--brand)}.brand-switch svg{width:13px}.brand-hero{background:var(--brand-dark);color:#fff;border-radius:23px;grid-template-columns:1fr 1fr;gap:48px;min-height:300px;margin-bottom:35px;padding:35px;display:grid;position:relative;overflow:hidden}.brand-hero:before{content:"";border:65px solid color-mix(in srgb,var(--brand) 15%,transparent);border-radius:50%;width:340px;height:340px;position:absolute;top:-210px;left:-150px}.brand-hero>div{z-index:1;position:relative}.brand-word{margin-bottom:4px;font-size:17px;font-weight:800;display:block}.brand-hero>div>small,.hero-concept>span{color:color-mix(in srgb,var(--brand) 75%,white);letter-spacing:.15em;font:500 8px DM Mono}.brand-hero h2{letter-spacing:-.055em;margin:45px 0 10px;font-size:36px}.brand-hero>div>p{color:#afb5ab;max-width:430px;font-size:11px;line-height:1.7}.tone-tags{gap:8px;margin-top:22px;display:flex}.tone-tags span{color:#c5c9c1;border:1px solid #fff2;border-radius:20px;padding:7px 10px;font-size:8px}.hero-concept{border-left:1px solid #ffffff18;padding-left:35px}.concept-art{align-items:flex-end;gap:3px;height:115px;margin:17px 0 13px;display:flex;position:relative}.concept-art b{letter-spacing:-.08em;color:var(--brand);font-size:78px;line-height:.76}.concept-art small{color:#fff;margin-bottom:2px;font:500 12px DM Mono}.concept-art i{background:var(--brand);position:absolute}.concept-art i:first-child{opacity:.12;border-radius:50%;width:60px;height:60px;top:0;right:8px}.concept-art i:nth-child(2){width:74px;height:2px;top:32px;right:15px}.concept-art i:nth-child(3){width:2px;height:48px;top:9px;right:46px}.hero-concept h3{margin:0 0 7px;font-size:14px}.hero-concept p{color:#969e92;margin:0;font-size:9px;line-height:1.7}.direction-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.direction-grid article{background:#fff;border:1px solid #e1e4df;border-radius:18px;padding:20px}.direction-grid article>span{background:var(--brand-soft);width:36px;height:36px;color:var(--brand);border-radius:11px;place-items:center;margin-bottom:35px;display:grid}.direction-grid svg{width:16px}.direction-grid small{color:#9ba097;font:500 8px DM Mono}.direction-grid h3{margin:9px 0 5px;font-size:15px}.direction-grid p{color:#868b83;margin:0;font-size:9px}.direction-grid button{color:#767b74;background:0 0;border:0;align-items:center;gap:7px;margin-top:22px;padding:0;font-size:8px;display:flex}.direction-grid button svg{width:13px}.deliverables{background:var(--brand-soft);border:1px solid color-mix(in srgb,var(--brand) 17%,white);border-radius:18px;align-items:center;margin-top:14px;padding:17px 18px;display:flex}.deliverables>svg{width:22px;color:var(--brand);margin-right:12px}.deliverables>span{flex-direction:column;gap:4px;display:flex}.deliverables>span b{font-size:11px}.deliverables>span small{color:#7f857c;font-size:8px}.deliverable-count{gap:20px;margin-left:auto;margin-right:25px;display:flex}.deliverable-count span{color:#7a8077;font-size:8px}.deliverable-count b{color:var(--brand);margin-right:3px;font-size:13px}.deliverables>button{background:var(--brand-dark);width:auto;height:42px;padding:0 20px}.shots-heading p{color:#858a82;margin:0;font-size:10px}.shots-heading>div:last-child{gap:8px;display:flex}.shots-heading .ghost-button{margin:0}.export-button{color:#fff;background:#1c201b;border:0;border-radius:11px;align-items:center;gap:7px;height:38px;padding:0 14px;font-size:9px;display:flex}.export-button svg{width:14px}.shot-stats{background:#fff;border:1px solid #e0e3dd;border-radius:18px;grid-template-columns:repeat(4,1fr);margin-bottom:18px;display:grid}.shot-stats article{border-right:1px solid #e8eae6;grid-template-columns:1fr auto;align-items:end;padding:18px 20px;display:grid}.shot-stats article:last-child{border:0}.shot-stats span{color:#888d85;font-size:9px}.shot-stats b{letter-spacing:-.05em;font-size:24px}.shot-stats em{color:#8c9189;font-size:10px;font-style:normal}.shot-stats small{color:#a2a69f;grid-column:1/-1;margin-top:8px;font-size:8px}.shot-stats .brand-stat{background:var(--brand-soft);border-radius:0 17px 17px 0}.shot-stats .brand-stat b{color:var(--brand);font-size:16px}.shot-controls{align-items:center;gap:8px;margin-bottom:11px;display:flex}.shot-controls>label{background:#fff;border:1px solid #dfe3db;border-radius:11px;align-items:center;gap:7px;width:240px;height:38px;padding:0 11px;display:flex}.shot-controls>label svg{color:#92978f;width:14px}.shot-controls input{border:0;outline:0;min-width:0;font-size:9px}.filter-tabs{background:#e9ece6;border-radius:11px;padding:3px;display:flex}.filter-tabs button{color:#7e837b;background:0 0;border:0;border-radius:8px;height:32px;padding:0 12px;font-size:8px}.filter-tabs button.active{color:#222;background:#fff;box-shadow:0 2px 8px #39413012}.filter-button,.add-shot{background:#fff;border:1px solid #dfe3db;border-radius:11px;align-items:center;gap:6px;height:38px;padding:0 11px;font-size:8px;display:flex}.filter-button{margin-left:auto}.filter-button svg,.add-shot svg{width:13px}.add-shot{color:#fff;background:#1c201b;border-color:#1c201b}.shot-table{background:#fff;border:1px solid #dfe3db;border-radius:16px;overflow:hidden}.table-head,.shot-row{grid-template-columns:30px 125px minmax(330px,1fr) 90px 65px 65px 65px 25px;align-items:center;column-gap:8px;display:grid}.table-head{color:#8b9088;background:#f1f3ef;border-bottom:1px solid #e1e4de;height:39px;padding:0 14px;font-size:8px}.shot-row{border-bottom:1px solid #eceeea;min-height:67px;padding:8px 14px;font-size:9px}.shot-row:last-child{border:0}.shot-row.done{opacity:.45;background:#f7f8f6}.shot-row.done .shot-desc{text-decoration:line-through}.shot-check{border-radius:5px;width:18px;height:18px}.shot-row.done .shot-check{color:#fff;background:#71866a;border-color:#71866a}.shot-id,.shot-desc{flex-direction:column;gap:5px;display:flex}.shot-id b{font:500 9px DM Mono}.shot-id span{color:#90958d;font-size:7px}.shot-desc b{font-size:9px}.shot-desc p{color:#7e837b;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:8px;overflow:hidden}.shot-priority{color:#7a7f77;background:#f0f2ee;border-radius:5px;justify-self:start;padding:4px 6px;font-size:7px}.shot-priority.must{color:#a84c34;background:#fff0ea}.row-more{background:0 0;border:0;padding:0}.row-more svg{color:#9da19a;width:15px}.empty-state{color:#969b93;flex-direction:column;justify-content:center;align-items:center;gap:8px;height:190px;display:flex}.empty-state svg{width:24px}.empty-state b{color:#656a63;font-size:11px}.empty-state span{font-size:9px}.sequence-note{background:#f1f8dc;border:1px solid #dbe4c1;border-radius:15px;align-items:center;margin-top:14px;padding:15px 17px;display:flex}.sequence-note>span{color:#5b790e;background:#d8ef99;border-radius:10px;place-items:center;width:34px;height:34px;margin-right:11px;display:grid}.sequence-note svg{width:16px}.sequence-note div{flex-direction:column;gap:4px;display:flex}.sequence-note b{font-size:10px}.sequence-note p{color:#758063;margin:0;font-size:8px}.sequence-note button{background:0 0;border:0;align-items:center;gap:6px;margin-left:auto;font-size:8px;display:flex}.sequence-note button svg{width:12px}.mobile-steps{display:none}@media (width<=1100px){.sp-topbar{grid-template-columns:220px 1fr auto}.sp-logo{padding:0 18px}.sp-sidebar{width:220px}.sp-main{padding-left:220px}.sp-stage{width:calc(100% - 40px)}.import-stage{gap:35px}.points-list article{grid-template-columns:25px 28px 1fr 150px 16px}.direction-grid{grid-template-columns:repeat(3,1fr)}.table-head,.shot-row{grid-template-columns:26px 105px minmax(260px,1fr) 75px 55px 55px 58px 20px}}@media (width<=800px){.sp-topbar{grid-template-columns:1fr auto;height:64px}.sp-logo{border:0;height:64px}.project-name,.saved,.sp-sidebar{display:none}.sp-main{padding:64px 0 0}.top-actions{padding-right:14px}.top-actions>button{display:none}.sp-stage{width:calc(100% - 28px);padding:32px 0 60px}.mobile-steps{gap:6px;padding:12px 14px 0;display:flex;overflow:auto}.mobile-steps button{background:#e8ebe5;border:0;border-radius:20px;flex:none;align-items:center;gap:5px;padding:7px 10px;font-size:8px;display:flex}.mobile-steps button span{background:#fff;border-radius:50%;place-items:center;width:18px;height:18px;display:grid}.mobile-steps button.active{color:#fff;background:#20241f}.mobile-steps button.active span{color:#20241f}.import-stage{min-height:0;display:block}.stage-intro{margin-bottom:30px}.import-foot{justify-content:center;gap:15px;margin-top:25px;position:static}.stage-toolbar,.shots-heading{align-items:flex-start}.points-list article{grid-template-columns:25px 1fr 18px}.point-number,.proof{display:none}.product-summary{align-items:flex-start}.product-glyph{width:76px;height:76px}.product-info{margin-left:13px}.product-summary .ghost-button{display:none}.chips{flex-wrap:wrap}.brand-hero{grid-template-columns:1fr}.hero-concept{border-top:1px solid #ffffff18;border-left:0;padding:25px 0 0}.direction-grid{grid-template-columns:1fr}.deliverable-count{display:none}.shot-stats{grid-template-columns:1fr 1fr}.shot-stats article:nth-child(2){border-right:0}.shot-stats article:nth-child(-n+2){border-bottom:1px solid #e8eae6}.shot-stats .brand-stat{border-radius:0 0 17px}.shot-controls{flex-wrap:wrap}.shot-controls>label{width:100%}.filter-tabs{max-width:100%;overflow:auto}.filter-button{margin-left:0}.shot-table{overflow-x:auto}.table-head,.shot-row{min-width:880px}.sequence-note button{display:none}}@media (width<=520px){.stage-intro h1,.stage-toolbar h1,.shots-heading h1{font-size:35px}.import-card{padding:18px}.secure{display:none}.import-foot div{flex-direction:column;gap:4px}.product-summary{padding:14px}.product-glyph{display:none}.product-info{margin:0}.points-list article{padding:14px 12px}.point-main small,.sticky-action>div{display:none}.sticky-action>button{width:100%}.brand-switch{height:72px}.brand-switch button{padding:0 14px}.brand-switch span{font-size:14px}.brand-switch small{display:none}.brand-hero{padding:25px}.brand-hero h2{margin-top:35px;font-size:31px}.direction-grid article>span{margin-bottom:20px}.deliverables>span small{display:none}.shots-heading{gap:16px}.shots-heading>div:last-child{flex-direction:column}.shot-stats b{font-size:20px}.filter-button{display:none}}.table-head,.shot-row{grid-template-columns:30px 150px minmax(300px,1fr) 105px 115px 58px 62px 25px}.shot-row{min-height:72px}.shot-id{flex-direction:row;align-items:center;gap:9px;min-width:0;display:flex}.shot-id>i{color:#828980;background:#eef1eb;border-radius:7px;flex:0 0 32px;place-items:center;width:32px;height:32px;font-style:normal;display:grid}.shot-id>i svg{width:14px}.shot-id>div{flex-direction:column;gap:5px;min-width:0;display:flex}.shot-count{color:var(--brand);font-size:9px}@media (width<=1100px){.table-head,.shot-row{grid-template-columns:26px 125px minmax(260px,1fr) 90px 95px 50px 55px 20px}}.flow-note{border-left:3px solid var(--sp-lime);background:#fff;border-radius:0 13px 13px 0;flex-direction:column;gap:6px;max-width:520px;margin-top:28px;padding:16px 18px;display:flex}.flow-note b{font-size:10px}.flow-note span{color:#7d837a;font-size:9px;line-height:1.65}.primary-action:disabled{cursor:not-allowed;opacity:.36;transform:none}.document-map{background:#fff;border:1px solid #e0e3dd;border-radius:18px;grid-template-columns:1.35fr repeat(4,1fr);align-items:stretch;margin-bottom:14px;display:grid;overflow:hidden}.document-map>div{border-right:1px solid #e8eae6;align-items:center;gap:10px;min-height:75px;padding:15px 16px;display:flex}.document-map>div:last-child{border-right:0}.document-map-title{color:#fff;background:#20241f}.document-map-title>span{color:#20241f;background:#d7ff3f;border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.document-map-title svg{width:16px}.document-map-title div,.document-map>div>span{flex-direction:column;gap:5px;display:flex}.document-map-title small{letter-spacing:.12em;color:#899083;font:500 7px DM Mono}.document-map-title b{font-size:11px}.document-map i{color:#81867e;background:#f0f2ed;border-radius:50%;place-items:center;width:23px;height:23px;font:500 8px DM Mono;display:grid}.document-map b{font-size:9px}.document-map small{color:#999e96;font-size:7px}.shots-stage .shot-stats{margin-top:0}@media (width<=900px){.document-map{grid-template-columns:1fr 1fr}.document-map>div{border-bottom:1px solid #e8eae6}.document-map-title{grid-column:1/-1}.document-map>div:nth-last-child(-n+2){border-bottom:0}}@media (width<=520px){.flow-note{margin-top:20px}.document-map{grid-template-columns:1fr}.document-map-title{grid-column:auto}.document-map>div{border-right:0;min-height:62px}.document-map>div:nth-last-child(2){border-bottom:1px solid #e8eae6}.document-map>div:last-child{border-bottom:0}}.brief-dropzone{cursor:pointer;background:#f8faf6;border:1px dashed #cbd1c6;border-radius:14px;align-items:center;gap:13px;min-height:102px;margin-bottom:2px;padding:16px;transition:border-color .2s,background .2s;display:flex;position:relative}.brief-dropzone:hover{background:#f3f6ef;border-color:#8e9787}.brief-dropzone.has-file{background:#f4f9e7;border-style:solid;border-color:#b8d06f}.brief-dropzone input{opacity:0;cursor:pointer;position:absolute;inset:0}.brief-file-icon{color:#626a5f;background:#fff;border-radius:12px;place-items:center;width:44px;height:44px;display:grid;box-shadow:0 3px 10px #2931210b}.brief-file-icon svg{width:19px}.brief-dropzone>div{flex-direction:column;gap:5px;min-width:0;display:flex}.brief-dropzone b{white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.brief-dropzone small{color:#969b93;font-size:8px}.brief-dropzone em{color:#a1a69e;margin-left:auto;font-size:8px;font-style:normal}.brief-dropzone>svg{color:#759f29;width:18px;margin-left:auto}.brief-demo{border-style:dashed;margin-top:10px}.analysis-overview{grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:13px;display:grid}.analysis-overview article{background:#fff;border:1px solid #e1e4df;border-radius:15px;padding:16px}.analysis-overview small{letter-spacing:.08em;color:#989d95;font:500 8px DM Mono}.analysis-overview b{margin:11px 0 7px;font-size:11px;display:block}.analysis-overview p{color:#858a82;margin:0;font-size:8px;line-height:1.6}.analysis-overview .analysis-warning{background:#fff8e9;border-color:#f0dfad}.analysis-warning b{color:#9a6812}.document-approval{color:#fff;background:#20241f;border-radius:16px;align-items:center;margin-top:14px;padding:14px 15px 14px 18px;display:flex}.document-approval>div{align-items:center;gap:11px;display:flex}.document-approval>div>svg{width:19px;color:var(--sp-lime)}.document-approval span{flex-direction:column;gap:4px;display:flex}.document-approval b{font-size:10px}.document-approval small{color:#9fa59c;font-size:8px}.document-approval button{background:var(--sp-lime);color:#1a1d18;border:0;border-radius:11px;align-items:center;gap:8px;height:42px;margin-left:auto;padding:0 18px;font-size:9px;font-weight:650;display:flex}.document-approval button svg{width:14px}.execution-heading{justify-content:space-between;align-items:flex-end;margin-bottom:28px;display:flex}.execution-heading h1{letter-spacing:-.055em;margin:0 0 13px;font-size:clamp(34px,4vw,55px);line-height:1.02}.execution-heading p{color:#858a82;margin:0;font-size:10px}.source-chain{background:#fff;border:1px solid #e0e3dd;border-radius:18px;align-items:center;gap:12px;margin-bottom:13px;padding:14px 18px;display:flex}.source-chain>svg{color:#adb2aa;width:15px}.source-chain>div{background:#f4f6f1;border-radius:12px;flex:1;align-items:center;gap:10px;padding:10px 12px;display:flex}.source-chain>div.active{background:var(--brand-soft);outline:1px solid color-mix(in srgb,var(--brand) 25%,white)}.source-chain>div>svg{color:#778075;width:17px}.source-chain>div.active>svg{color:var(--brand)}.source-chain span{flex-direction:column;gap:4px;display:flex}.source-chain small{color:#999e96;font:500 7px DM Mono}.source-chain b{font-size:9px}.execution-stats{grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:13px;display:grid}.execution-stats article{background:#fff;border:1px solid #e0e3dd;border-radius:15px;align-items:center;gap:12px;padding:16px;display:flex}.execution-stats article>span{background:var(--brand-soft);width:36px;height:36px;color:var(--brand);border-radius:11px;place-items:center;display:grid}.execution-stats svg{width:16px}.execution-stats div{flex-direction:column;gap:5px;display:flex}.execution-stats small{color:#969b93;font-size:8px}.execution-stats b{font-size:13px}.execution-layout{grid-template-columns:minmax(0,1.45fr) minmax(320px,.65fr);gap:12px;display:grid}.schedule-panel,.readiness-panel{background:#fff;border:1px solid #dfe3db;border-radius:18px;overflow:hidden}.panel-head{border-bottom:1px solid #e8eae6;align-items:center;height:70px;padding:0 18px;display:flex}.panel-head>div{flex-direction:column;gap:5px;display:flex}.panel-head h3{margin:0;font-size:13px}.panel-head p{color:#92978f;margin:0;font-size:8px}.panel-head>span{letter-spacing:.1em;color:#82877f;background:#f0f2ed;border-radius:7px;margin-left:auto;padding:6px 8px;font:500 8px DM Mono}.schedule-list article{border-bottom:1px solid #eceeea;grid-template-columns:95px 12px 1fr 20px;align-items:center;gap:13px;min-height:92px;padding:12px 18px;display:grid}.schedule-list article:last-child{border:0}.schedule-time{flex-direction:column;gap:5px;display:flex}.schedule-time b{font:500 9px DM Mono}.schedule-time span{color:#a1a69e;font:500 7px DM Mono}.schedule-list article>i{background:#d7dcd4;border-radius:5px;width:8px;height:52px}.schedule-list article>i.dark{background:#232722}.schedule-list article>i.brand{background:var(--brand)}.schedule-list article>i.check{background:#a9ca4b}.schedule-list article>div:nth-child(3){flex-direction:column;gap:5px;min-width:0;display:flex}.schedule-list h4{margin:0;font-size:11px}.schedule-list p{color:#797f76;margin:0;font-size:8px}.schedule-list small{color:#a0a49d;white-space:nowrap;text-overflow:ellipsis;font-size:8px;overflow:hidden}.schedule-list article>button{background:0 0;border:0;padding:0}.schedule-list article>button svg{color:#9ca198;width:15px}.readiness-panel section{border-bottom:1px solid #eceeea;grid-template-columns:34px 1fr 18px;align-items:center;gap:10px;min-height:82px;padding:13px 16px;display:grid}.readiness-panel section:last-child{border:0}.readiness-panel section>span{color:#737b70;background:#f1f3ef;border-radius:9px;place-items:center;width:32px;height:32px;display:grid}.readiness-panel section>span svg{width:15px}.readiness-panel section>div{flex-direction:column;gap:5px;display:flex}.readiness-panel section b{font-size:9px}.readiness-panel section p{color:#8a9087;margin:0;font-size:8px;line-height:1.5}.readiness-panel section>svg{color:#78a42d;width:16px}.execution-footer{background:#fff;border:1px solid #dfe3db;border-radius:16px;align-items:center;margin-top:13px;padding:15px 16px;display:flex}.execution-footer>div{align-items:center;gap:10px;display:flex}.execution-footer>div>svg{width:18px;color:var(--brand)}.execution-footer>div>span{flex-direction:column;gap:4px;display:flex}.execution-footer>div b{font-size:10px}.execution-footer>div small,.execution-footer>div>span{color:#8d928a;font-size:8px}.execution-footer>div:nth-child(2){gap:7px;margin-left:auto}.execution-footer>button{color:#fff;background:#20241f;border:0;border-radius:10px;align-items:center;gap:7px;height:39px;margin-left:18px;padding:0 14px;font-size:8px;display:flex}.execution-footer>button svg{width:14px}@media (width<=1000px){.analysis-overview{grid-template-columns:1fr 1fr}.execution-layout{grid-template-columns:1fr}.readiness-panel{grid-template-columns:1fr 1fr;display:grid}.readiness-panel .panel-head{grid-column:1/-1}.readiness-panel section:nth-child(odd){border-right:1px solid #eceeea}.execution-footer>div:nth-child(2){display:none}}@media (width<=700px){.source-chain{flex-direction:column;align-items:stretch}.source-chain>svg{align-self:center;transform:rotate(90deg)}.execution-stats{grid-template-columns:1fr 1fr}.document-approval{flex-direction:column;align-items:stretch;gap:13px}.document-approval button{justify-content:center;width:100%;margin:0}.readiness-panel{display:block}.readiness-panel .panel-head{display:flex}.readiness-panel section:nth-child(odd){border-right:0}.execution-footer{flex-direction:column;align-items:stretch;gap:13px}.execution-footer>button{justify-content:center;margin:0}.execution-heading{align-items:flex-start;gap:14px}.execution-heading .export-button{flex:none}.schedule-list article{grid-template-columns:82px 10px 1fr 16px}}@media (width<=520px){.analysis-overview{grid-template-columns:1fr}.brief-dropzone{min-height:90px}.brief-dropzone em{display:none}.execution-stats{grid-template-columns:1fr}.execution-heading{flex-direction:column}.execution-heading .export-button{align-self:flex-start}.schedule-list article{grid-template-columns:1fr 8px}.schedule-list article>div:nth-child(3){grid-column:1/-1}.schedule-list article>button{display:none}}.schedule-list article>i.verify{background:#a9ca4b}.brief-textarea{resize:vertical;color:#252923;background:#f8f9f6;border:1px solid #dfe3da;border-radius:14px;outline:none;width:100%;min-height:128px;padding:14px 15px;font:400 10px/1.7 Noto Sans SC,sans-serif;transition:all .2s}.brief-textarea:focus{background:#fff;border-color:#94b536;box-shadow:0 0 0 3px #dff29a55}.brief-textarea::placeholder{color:#a1a69e}.feishu-local{background:#fafbf9;border:1px solid #e5e8e1;border-radius:12px;margin:12px 0;overflow:hidden}.feishu-local summary{cursor:pointer;align-items:center;gap:8px;padding:11px 13px;font-size:9px;font-weight:650;list-style:none;display:flex}.feishu-local summary::-webkit-details-marker{display:none}.feishu-local summary svg{color:#6c7469;width:14px}.feishu-local>div{padding:0 12px 12px}.feishu-local p{color:#92978f;margin:8px 2px 0;font-size:8px;line-height:1.5}.brief-error{color:#a4442e;background:#fff3ef;border:1px solid #efc2b7;border-radius:11px;align-items:flex-start;gap:9px;margin:12px 0;padding:11px 12px;font-size:9px;line-height:1.55;display:flex}.brief-error svg{flex:none;width:15px}.source-line{color:#858a82;align-items:center;gap:7px;display:flex;margin:9px 0 0!important;font-size:9px!important}.source-line svg{width:13px}.real-data-badge{color:#567410;white-space:nowrap;background:#edf8d1;border-radius:9px;align-items:center;gap:6px;margin-left:auto;padding:8px 10px;font-size:8px;font-weight:650;display:flex}.real-data-badge svg{width:14px}.source-preview{background:#fff;border:1px solid #e0e3dc;border-radius:14px;margin:14px 0 88px;overflow:hidden}.source-preview summary{cursor:pointer;padding:13px 15px;font-size:9px;font-weight:650}.source-preview pre{white-space:pre-wrap;color:#646a61;background:#f7f8f5;border-top:1px solid #e7e9e4;max-height:300px;margin:0;padding:16px;font:400 9px/1.75 DM Mono,Noto Sans SC,monospace;overflow:auto}.shot-source{white-space:nowrap;text-overflow:ellipsis;max-width:100%;display:block;overflow:hidden;color:#9a7b3f!important;font-size:7px!important}.props-line{color:#959b92;margin-top:5px;font-size:7px;line-height:1.4;display:block}.shots-heading>div:last-child{flex-wrap:wrap;justify-content:flex-end}.shots-heading>div:last-child button{white-space:nowrap}.sp-sidebar nav button:disabled,.mobile-steps button:disabled{opacity:.38;cursor:not-allowed}.side-project>b{text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.schedule-list p{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@media (width<=700px){.brief-textarea{min-height:150px}.source-preview{margin-bottom:112px}.real-data-badge{display:none}.shots-heading>div:last-child{justify-content:flex-start}.shot-source{display:none}}
