@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,600;0,700;1,600;1,700&display=swap";:root{--paper:#f4f2ed;--ink:#17211e;--muted:#65706b;--line:#cfd1ca;--accent:#c7ff4a;--accent-dim:#98cd21;--blue:#6095ff;--coral:#ff8367;--radius:6px;--ease:cubic-bezier(.4, 0, .2, 1)}body.dark{--paper:#17211e;--ink:#f4f2ed;--muted:#b7beb9;--line:#3a4842}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);transition:background .35s var(--ease), color .35s var(--ease);margin:0;font-family:Manrope,Arial,sans-serif}button,a{font:inherit;color:inherit}img{max-width:100%;display:block}.eyebrow{letter-spacing:.04em;color:var(--muted);margin:0;font:500 11px DM Mono,monospace}header{border-bottom:1px solid var(--line);background:var(--paper);z-index:100;height:76px;transition:background .35s var(--ease);justify-content:space-between;align-items:center;padding:0 4.4vw;display:flex;position:sticky;top:0}.brand,nav button,.theme,.menu{cursor:pointer;background:0 0;border:0}.brand{letter-spacing:.05em;padding:0;font-size:12px;font-weight:800}.brand span{color:var(--accent-dim);margin-right:7px}nav{gap:27px;display:flex;position:absolute;left:50%;transform:translate(-50%)}nav button{padding:8px 0;font-size:12px;position:relative}nav button:after{content:"";background:var(--accent);width:0;height:1.5px;transition:width .3s var(--ease);position:absolute;bottom:4px;left:0}nav button:hover:after{width:100%}.header-actions{align-items:center;gap:20px;display:flex}.theme{font-size:19px}.menu{width:24px;padding:0;display:none}.menu i{border-top:1.5px solid;margin:5px 0;display:block}.hero{min-height:760px;padding:12vh 4.4vw 5vw;position:relative;overflow:hidden}.hero-copy{z-index:1;justify-content:space-between;align-items:flex-end;margin-top:54px;display:flex;position:relative}.hero h1,.statement h2,.process h2,.contact h2{letter-spacing:-.075em;max-width:990px;margin:0;font-size:clamp(3.4rem,7.2vw,8.2rem);font-weight:700;line-height:.93}.hero h1 em,.contact h2 em{font-family:Playfair Display,serif;font-weight:600}.hero-side{width:250px;margin:0 3vw 15px 30px}.hero-side p{margin:0 0 28px;font-size:14px;line-height:1.6}.round-link{border:1px solid var(--ink);cursor:pointer;width:48px;height:48px;transition:all .25s var(--ease);background:0 0;border-radius:50%;font-size:21px}.round-link:hover{background:var(--ink);color:var(--paper)}.hero-art{border-top:1px solid var(--line);height:250px;margin-top:9vh;position:relative;overflow:hidden}.hero-art p{z-index:2;margin:0;font:11px/1.5 DM Mono,monospace;position:absolute;bottom:13px;right:0}.hero-art p span{color:var(--accent-dim);font-size:18px}.orb{border-radius:50%;position:absolute}.orb-one{background:var(--accent);width:264px;height:264px;top:45px;left:22%}.orb-two{background:var(--blue);mix-blend-mode:multiply;width:214px;height:214px;top:-46px;left:39%}.orb-three{background:var(--coral);mix-blend-mode:multiply;width:178px;height:178px;top:80px;left:52%}.statement,.work,.process{border-top:1px solid var(--line);padding:9.5vw 4.4vw}.statement h2{max-width:1120px;margin:44px 0 70px;font-size:clamp(2.3rem,4.7vw,5.8rem)}.profile-grid{grid-template-columns:minmax(190px,.6fr) 1.65fr;align-items:start;gap:7vw;display:grid}.portrait{margin:0}.portrait img{aspect-ratio:.78;object-fit:cover;filter:saturate(.82);border-radius:var(--radius);width:100%;display:block}.portrait figcaption,.drone-note{color:var(--muted);margin-top:9px;font:10px/1.4 DM Mono,monospace;display:block}.bio-grid{grid-template-columns:1fr 1.15fr;gap:5vw;display:grid}.bio-grid>div>p{margin:0 0 16px;font-size:15px;line-height:1.7}.bio-extra{color:var(--muted);font-size:13px!important}.skills{flex-wrap:wrap;align-content:flex-start;gap:9px;display:flex}.skills span{border:1px solid var(--line);transition:all .2s var(--ease);border-radius:30px;padding:10px 13px;font-size:12px}.skills span:hover{border-color:var(--accent);background:var(--accent);color:#17211e}.section-head{justify-content:space-between;margin-bottom:60px;display:flex}.section-head>p:last-child{max-width:275px;margin:0;font-size:14px;line-height:1.5}.project{border-top:1px solid var(--line);cursor:pointer;min-height:170px;transition:background .25s var(--ease);grid-template-columns:80px 1fr 45px;align-items:center;padding:24px 0;display:grid;position:relative;overflow:hidden}.project:last-child{border-bottom:1px solid var(--line)}.project-index,.project-content p{font:11px DM Mono,monospace}.project-content{z-index:1;position:relative}.project-content p{color:var(--muted);margin:0 0 11px}.project h3{letter-spacing:-.06em;margin:0;font-size:clamp(1.8rem,3.2vw,3.8rem)}.project-text{max-height:0;transition:max-height .4s var(--ease), margin .4s var(--ease);width:500px;max-width:100%;overflow:hidden;margin:0!important;font:14px/1.55 Manrope!important}.project-arrow{z-index:1;font-size:25px}.project-shape{opacity:0;width:135px;height:135px;transition:all .45s var(--ease);position:absolute;right:15%;transform:translateY(40px)rotate(-20deg)}.lime .project-shape{background:var(--accent);border-radius:50% 45% 12% 40%}.blue .project-shape{background:var(--blue);clip-path:polygon(50% 0,100% 100%,0 100%)}.coral .project-shape{background:var(--coral);border-radius:10px}.project.selected .project-shape{opacity:1;transform:translateY(0)rotate(0)}.project.selected .project-text{max-height:80px;margin-top:14px!important}.process{color:#f4f2ed;--line:#3a4842;--muted:#b9c0ba;background:#17211e}body.dark .process{background:#111916}.process-grid{grid-template-columns:1.15fr 1fr;gap:10vw;margin-top:43px;display:grid}.process h2,.drone h2{letter-spacing:-.065em;margin:0;font-size:clamp(2.3rem,4.1vw,5rem);line-height:.98}ol{margin:0;padding:0;list-style:none}li{border-top:1px solid var(--line);grid-template-columns:55px 1fr;padding:20px 0 26px;display:grid}li span{color:var(--muted);font:11px DM Mono,monospace}li b{font-size:19px}li p{color:var(--muted);grid-column:2;max-width:320px;margin:8px 0 0;font-size:13px;line-height:1.55}.drone{border-top:1px solid var(--line);grid-template-columns:.85fr 1.15fr;gap:9vw;padding:9.5vw 4.4vw;display:grid}.drone h2{margin:42px 0 28px}.drone-copy>p:not(.eyebrow){max-width:420px;font-size:14px;line-height:1.7}.drone-note{margin-top:30px}.drone-gallery{grid-template-rows:220px 200px;grid-template-columns:1.05fr .95fr;gap:14px;display:grid}.aerial{cursor:pointer;transition:transform .35s var(--ease), box-shadow .35s var(--ease);background:#17211e 50% 75%/cover;border-radius:10px;position:relative;overflow:hidden}.aerial:after{content:"";pointer-events:none;background:linear-gradient(#0000 55%,#0f16138c 100%);position:absolute;inset:0}.aerial:hover{transform:translateY(-3px)scale(1.015);box-shadow:0 12px 30px #00000038}.aerial span{z-index:2;color:#f4f2ed;letter-spacing:.04em;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#17211eb8;border-radius:6px;padding:5px 10px;font:500 10px DM Mono,monospace;position:absolute;bottom:12px;left:13px}.aerial-one{background-image:url(/drone/drone-1.jpg);background-position:50% 78%;grid-row:span 2}.aerial-two{background-image:url(/drone/drone-2.jpg);background-position:50% 80%}.aerial-three{background-image:url(/drone/drone-3.jpg);background-position:50% 68%}.drone-lightbox{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;animation:overlayFade .25s var(--ease) forwards;background:#0f1613e6;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.lightbox-inner{flex-direction:column;align-items:center;max-width:90vw;max-height:88vh;display:flex;position:relative}.lightbox-inner img{object-fit:contain;border-radius:10px;max-width:100%;max-height:80vh;box-shadow:0 20px 60px #00000080}.lightbox-inner p{color:#f4f2ed;letter-spacing:.06em;margin:14px 0 0;font:500 12px DM Mono,monospace}.lightbox-close{background:var(--accent);width:36px;height:36px;color:var(--ink);cursor:pointer;transition:transform .2s var(--ease);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex;position:absolute;top:-14px;right:-14px;box-shadow:0 4px 14px #0000004d}.lightbox-close:hover{transform:scale(1.1)}.contact{border-top:1px solid var(--line);padding:9.5vw 4.4vw}.contact h2{margin:30px 0 16px;font-size:clamp(2.4rem,5.2vw,6rem)}.contact-inner{grid-template-columns:.9fr 1.1fr;align-items:start;gap:8vw;display:grid}.contact-copy{position:sticky;top:120px}.contact-sub{color:var(--muted);max-width:380px;margin:0 0 40px;font-size:15px;line-height:1.7}.contact-links{flex-direction:column;gap:14px;display:flex}.contact-link{border:1px solid var(--line);border-radius:var(--radius);transition:all .25s var(--ease);align-items:center;gap:12px;padding:12px 16px;font-size:14px;text-decoration:none;display:flex}.contact-link:hover{border-color:var(--accent);background:var(--accent);color:#17211e}.contact-link-icon{background:var(--ink);width:32px;height:32px;color:var(--paper);transition:all .25s var(--ease);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.contact-link:hover .contact-link-icon{color:#f4f2ed;background:#17211e}.contact-form{color:#f4f2ed;transition:background .35s var(--ease), border-color .35s var(--ease), box-shadow .35s var(--ease);background:#17211e;border:1px solid #0000;border-radius:12px;padding:48px 40px 40px;position:relative;overflow:hidden}body.dark .contact-form{background:#21302b;border-color:#3a4a43;box-shadow:0 20px 50px #00000073}.contact-form:before{content:"";background:var(--accent);opacity:.07;pointer-events:none;border-radius:50%;width:220px;height:220px;position:absolute;top:-80px;right:-60px}.form-grid{grid-template-columns:1fr 1fr;gap:0 24px;display:grid}.form-field{margin-bottom:32px;position:relative}.form-field.full{grid-column:1/-1}.form-field input,.form-field textarea{color:#f4f2ed;resize:none;width:100%;transition:border-color .3s var(--ease);background:0 0;border:none;border-bottom:1.5px solid #f4f2ed3d;outline:none;padding:22px 0 10px;font:15px/1.5 Manrope,sans-serif}.form-field input::placeholder,.form-field textarea::placeholder{color:#0000}.form-field label{color:#f4f2ed9e;pointer-events:none;transition:all .25s var(--ease);transform-origin:0 0;font:500 13px DM Mono,monospace;position:absolute;top:22px;left:0}.form-field.focused label,.form-field.filled label{color:var(--accent);font-size:10px;top:4px}.field-line{background:var(--accent);width:0;height:2px;transition:width .35s var(--ease);position:absolute;bottom:0;left:0}.form-field.focused .field-line{width:100%}.form-field input:focus,.form-field textarea:focus{border-bottom-color:#f4f2ed73}.form-footer{align-items:center;gap:20px;margin-top:8px;display:flex}.send-btn{background:var(--accent);color:#17211e;cursor:pointer;transition:all .25s var(--ease);letter-spacing:.01em;border:none;border-radius:40px;align-items:center;gap:10px;padding:16px 32px;font-size:14px;font-weight:700;display:inline-flex}.send-btn:hover{transform:translateY(-2px);box-shadow:0 8px 28px #c7ff4a47}.send-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.send-plane{transition:transform .25s var(--ease);align-items:center;display:inline-flex}.send-btn:hover .send-plane{transform:translate(3px,-3px)rotate(12deg)}.letter-overlay{color:#f4f2ed;z-index:20;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:overlayFade .3s var(--ease) forwards;background:#17211e;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;padding:40px 24px;display:flex;position:absolute;inset:0}body.dark .letter-overlay{background:#21302b}@keyframes overlayFade{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.letter-animation-box{flex-direction:column;align-items:center;display:flex}.letter-stage{perspective:700px;justify-content:center;align-items:center;width:220px;height:160px;display:flex;position:relative}.envelope-wrap{width:140px;height:95px;transition:transform .6s cubic-bezier(.34,1.56,.64,1);position:relative}.envelope-wrap.flying{animation:1.1s cubic-bezier(.4,0,.2,1) forwards letterFlight}@keyframes letterFlight{0%{opacity:1;transform:translateY(0)rotate(0)scale(1)}35%{transform:translateY(-24px)rotate(-12deg)scale(1.08)}to{opacity:0;transform:translate(220px,-290px)rotate(32deg)scale(.35)}}.flight-trail{pointer-events:none;width:110px;height:90px;position:absolute;top:15px;right:-15px}.trail-svg{width:100%;height:100%;animation:.8s infinite alternate trailPulse}@keyframes trailPulse{0%{opacity:.4}to{opacity:.9}}.envelope-back{z-index:1;background:#283730;border:1px solid #ffffff14;border-radius:8px;position:absolute;inset:0}.paper-letter{z-index:2;background:#fff;border-radius:5px;flex-direction:column;gap:5px;width:110px;height:75px;padding:10px 12px;transition:transform .5s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:-38px;left:15px;box-shadow:0 4px 16px #00000040}.paper-letter.slid-in{opacity:.95;transform:translateY(44px)scale(.92)}.paper-line{background:#e0ded8;border-radius:2px;height:3px}.paper-line.short{background:var(--accent);width:45%}.envelope-pocket{clip-path:polygon(0 0,50% 52%,100% 0,100% 100%,0 100%);z-index:3;background:#1c2723;border-top:1px solid #ffffff0f;border-radius:0 0 8px 8px;height:95px;position:absolute;bottom:0;left:0;right:0}.envelope-flap{clip-path:polygon(0 0,50% 100%,100% 0);transform-origin:top;z-index:4;background:#22312b;border-radius:8px 8px 0 0;height:55px;transition:transform .45s cubic-bezier(.4,0,.2,1);position:absolute;top:0;left:0;right:0}.envelope-flap.closed{background:#141c19;transform:rotateX(180deg)}.wax-seal{background:var(--accent);color:#17211e;z-index:5;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:10px;font-weight:800;transition:transform .3s cubic-bezier(.34,1.56,.64,1);display:flex;position:absolute;top:44px;left:50%;transform:translate(-50%)scale(0);box-shadow:0 0 14px #c7ff4a99}.wax-seal.visible{transform:translate(-50%)scale(1)}.letter-caption{color:var(--accent);letter-spacing:.05em;margin:16px 0 0;font:500 12px DM Mono,monospace}.success-card{max-width:420px;animation:.45s cubic-bezier(.34,1.56,.64,1) forwards cardPopIn}@keyframes cardPopIn{0%{opacity:0;transform:scale(.9)translateY(16px)}to{opacity:1;transform:scale(1)translateY(0)}}.success-icon-wrap{background:var(--accent);border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 18px;display:flex;box-shadow:0 6px 20px #c7ff4a4d}.success-badge{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;background:#c7ff4a26;border-radius:30px;margin-bottom:14px;padding:6px 14px;font:700 11px DM Mono,monospace;display:inline-block}.success-card h3{letter-spacing:-.04em;color:#f4f2ed;margin:0 0 10px;font-size:clamp(1.8rem,3.2vw,2.4rem)}.success-card p{color:#f4f2edc7;margin:0 0 26px;font-size:14px;line-height:1.6}.success-card p strong{color:#f4f2ed}.reset-btn{color:#f4f2ed;cursor:pointer;transition:all .25s var(--ease);background:0 0;border:1.5px solid #f4f2ed4d;border-radius:30px;padding:12px 24px;font-family:inherit;font-size:13px;font-weight:600}.reset-btn:hover{color:#17211e;background:#f4f2ed;border-color:#f4f2ed;transform:translateY(-2px)}footer{color:var(--muted);justify-content:space-between;padding:22px 4.4vw;font:10px DM Mono,monospace;display:flex}footer p{margin:0}footer div{gap:18px;display:flex}footer a{text-decoration:none}footer a:hover{color:var(--ink)}@media (width<=768px){header{height:66px;padding:0 6vw}.brand{font-size:13px}.menu{width:28px;padding:4px 0;display:block}nav{background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;gap:6px;padding:16px 6vw 22px;display:none;position:fixed;top:66px;left:0;right:0;transform:none;box-shadow:0 12px 28px #00000014}nav.open{display:flex}nav button{text-align:left;border-bottom:1px solid var(--line);padding:12px 0;font-size:16px;font-weight:600}nav button:last-child{border-bottom:none}.eyebrow{font-size:12px;line-height:1.5}.hero{min-height:auto;padding:7vh 6vw 8vw}.hero-copy{margin-top:32px;display:block}.hero h1{font-size:clamp(3rem,13.5vw,4.6rem);line-height:.96}.hero-side{width:auto;margin:28px 0 0}.hero-side p{margin-bottom:22px;font-size:16px;line-height:1.65}.round-link{width:52px;height:52px;font-size:22px}.hero-art{height:185px;margin-top:44px}.hero-art p{font-size:12px}.orb-one{width:185px;height:185px;left:5%}.orb-two{width:150px;height:150px;left:34%}.orb-three{width:125px;height:125px;left:55%}.statement,.work,.process,.contact,.drone{padding:16vw 6vw}.statement h2{margin:28px 0 36px;font-size:clamp(2rem,8.2vw,3.2rem);line-height:1.04}.profile-grid,.bio-grid,.process-grid{grid-template-columns:1fr;gap:34px}.portrait{max-width:280px}.bio-grid>div>p{font-size:16px;line-height:1.7}.bio-extra{font-size:14px!important}.skills span{padding:11px 16px;font-size:13.5px}.section-head{margin-bottom:32px;display:block}.section-head>p:last-child{max-width:100%;margin-top:14px;font-size:15px}.project{grid-template-columns:38px 1fr 28px;min-height:125px;padding:22px 0}.project-index,.project-content p{font-size:12px}.project h3{font-size:clamp(1.65rem,6.8vw,2.4rem)}.project-shape{width:100px;height:100px;right:-18px}.project-text{width:92%;font-size:15px!important;line-height:1.6!important}.project.selected .project-text{max-height:220px}.process h2,.drone h2{font-size:clamp(2.1rem,8.5vw,3.2rem);line-height:1.02}li{grid-template-columns:45px 1fr;padding:20px 0 24px}li span{font-size:12px}li b{font-size:20px}li p{max-width:100%;font-size:14.5px}.drone{grid-template-columns:1fr;gap:36px}.drone h2{margin:24px 0 18px}.drone-copy>p:not(.eyebrow){max-width:100%;font-size:15.5px}.drone-note{margin-top:22px;font-size:11.5px}.drone-gallery{grid-template-rows:260px 220px 220px;grid-template-columns:1fr;gap:14px}.aerial-one{grid-row:span 1}.aerial span{padding:6px 12px;font-size:11px}.contact-inner{grid-template-columns:1fr;gap:40px}.contact-copy{position:static}.contact h2{margin:24px 0 14px;font-size:clamp(2.3rem,9.5vw,3.6rem)}.contact-sub{max-width:100%;margin-bottom:28px;font-size:15.5px}.contact-link{padding:14px 16px;font-size:15px}.contact-form{padding:32px 22px 28px}.form-grid{grid-template-columns:1fr}.form-field input,.form-field textarea{font-size:16px}.form-field label{font-size:13.5px}.send-btn{justify-content:center;width:100%;padding:17px 28px;font-size:15.5px}footer{flex-wrap:wrap;gap:16px;padding:24px 6vw;font-size:12px}footer p:last-child{display:none}}
