:root{--bg:#0b0c0c;--ink:#f2f0e9;--muted:#969792;--line:#2b2d2b;--lime:#e8ff55;--orange:#ff7448;--max:1280px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.65 Manrope,Arial,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}::selection{background:var(--lime);color:#111}.noise{position:fixed;inset:0;z-index:20;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.progress{position:fixed;top:0;left:0;height:2px;width:0;background:var(--lime);z-index:30}.site-header{height:78px;max-width:var(--max);width:calc(100% - 56px);margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:10}.logo{font-size:22px;font-weight:800;letter-spacing:-.08em}.logo span,.eyebrow,.header-code{color:var(--lime)}.site-header nav{display:flex;gap:30px;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.site-header nav a{transition:color .2s}.site-header nav a:hover{color:var(--ink)}.header-code,.eyebrow,.section-label{font:500 10px "DM Mono",monospace;letter-spacing:.14em}.hero{height:calc(100svh - 78px);min-height:650px;max-width:var(--max);width:calc(100% - 56px);margin:auto;position:relative;display:flex;align-items:center;overflow:hidden}#scene{position:fixed;inset:78px 0 0;width:100vw;height:calc(100vh - 78px);z-index:0;pointer-events:none}.hero canvas{position:fixed;inset:78px 0 0;width:100vw;height:calc(100vh - 78px);z-index:0}.hero-glow{position:absolute;width:50vw;height:50vw;right:0;background:radial-gradient(circle,#e8ff5515 0,transparent 67%);pointer-events:none}.hero-content{position:relative;z-index:2;max-width:730px}.eyebrow{color:var(--lime);text-transform:uppercase}.hero h1{font:600 clamp(66px,11vw,164px)/.82 "Playfair Display",serif;letter-spacing:-.075em;margin:20px 0 30px}.hero h1 i,.section h2 em{color:var(--lime);font-style:italic}.hero-copy{max-width:465px;color:var(--muted);font-size:16px}.hero-actions{display:flex;gap:27px;align-items:center;margin-top:35px}.button{display:inline-flex;align-items:center;gap:25px;background:var(--lime);color:#10120b;padding:14px 18px 14px 21px;font-weight:800;font-size:13px;transition:transform .25s,box-shadow .25s}.button:hover{box-shadow:0 12px 45px #e8ff5530}.button b{font-size:20px;font-weight:500}.text-link{font:500 11px "DM Mono",monospace;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}.hero-side{position:absolute;z-index:2;right:0;bottom:42px;display:flex;gap:45px;color:var(--muted);font:10px "DM Mono",monospace;letter-spacing:.1em;text-transform:uppercase}.scroll-mark{color:var(--lime);text-align:right}.scroll-mark b{display:inline-block;font-size:23px;font-weight:400;animation:bob 1.6s ease-in-out infinite}@keyframes bob{50%{transform:translateY(8px)}}.camera-story{height:400vh;position:relative;border-top:1px solid var(--line)}.camera-sticky{height:100svh;min-height:650px;position:sticky;top:0;overflow:hidden;max-width:var(--max);width:calc(100% - 56px);margin:auto}.camera-copy{position:absolute;z-index:4;left:0;top:14%;width:340px}.camera-copy h2{font:600 clamp(48px,6vw,88px)/.88 "Playfair Display",serif;letter-spacing:-.065em;margin:20px 0}.camera-copy h2 em{color:var(--lime);font-style:italic}.camera-hint{color:var(--muted);font-size:13px;max-width:260px}.camera-stage{position:absolute;inset:0}.camera-stage:before{content:"";position:absolute;inset:12% 20%;background:radial-gradient(ellipse,#e8ff5511,transparent 62%)}.stage-readout{position:absolute;right:0;top:13%;z-index:4;display:flex;gap:15px;color:var(--muted);font:10px "DM Mono",monospace;letter-spacing:.12em}.stage-readout span:first-child{color:var(--lime)}.annotations{position:absolute;inset:0;z-index:4;opacity:0;transition:opacity .5s;pointer-events:none}.annotations.show{opacity:1}.annotation{position:absolute;display:flex;align-items:center;gap:10px;color:var(--lime);font:10px "DM Mono",monospace;letter-spacing:.1em}.annotation i{width:62px;height:1px;background:var(--lime);position:relative}.annotation i:after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:var(--lime);top:-2px;right:0}.annotation span{display:grid;gap:3px}.annotation small{color:var(--muted);font-size:9px}.annotation-lens{right:10%;top:47%}.annotation-body{left:42%;top:26%}.annotation-body i{order:2}.annotation-light{right:4%;top:70%}.annotation-edit{left:33%;top:75%}.camera-steps{position:absolute;z-index:5;bottom:8%;right:0;display:flex;gap:22px;color:#5b5d58;font:10px "DM Mono",monospace;letter-spacing:.1em}.camera-steps .active{color:var(--lime)}.section,.work-strip{max-width:var(--max);width:calc(100% - 56px);margin:auto;border-top:1px solid var(--line);padding:135px 0}.section-label{color:var(--lime);width:17%;float:left}.about-grid,.section-main{margin-left:17%;display:grid;grid-template-columns:1fr 1fr;gap:9vw}.section h2,.work-strip h2{font:600 clamp(45px,6.8vw,100px)/.9 "Playfair Display",serif;letter-spacing:-.065em;margin:0}.copy{max-width:520px;color:var(--muted)}.copy .big{font-size:23px;line-height:1.25;color:var(--ink);letter-spacing:-.03em}.copy em{font-family:"Playfair Display",serif;color:var(--lime);font-size:1.1em}.copy p{margin:0 0 22px}.service-list{border-top:1px solid var(--line)}.service-list article{display:grid;grid-template-columns:55px 1fr 1fr;gap:15px;align-items:center;padding:23px 0;border-bottom:1px solid var(--line)}.service-list span,.process-grid b{color:var(--lime);font:11px "DM Mono",monospace}.service-list h3{font:600 22px "Playfair Display",serif;margin:0}.service-list p{color:var(--muted);font-size:13px;margin:0}.process-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);margin-top:35px}.process-grid article{padding:24px 20px 0 0;border-right:1px solid var(--line);min-height:170px}.process-grid article+article{padding-left:20px}.process-grid article:last-child{border:0}.process-grid h3{font-size:15px;margin:30px 0 5px}.process-grid p{color:var(--muted);font-size:13px;line-height:1.5;margin:0}.work-strip{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:end}.work-strip h2{margin-top:20px}.archive-card{border:1px solid var(--line);min-height:245px;padding:25px;display:flex;flex-direction:column;justify-content:end;background:linear-gradient(135deg,#151b17,#171513);position:relative;overflow:hidden}.archive-card:after{content:"K";position:absolute;right:-25px;top:-70px;color:#e8ff5515;font:600 330px "Playfair Display",serif}.archive-card>*{position:relative;z-index:1}.archive-card span{color:var(--lime);font:10px "DM Mono",monospace;letter-spacing:.15em}.archive-card strong{font:600 32px "Playfair Display",serif;margin:35px 0 5px}.archive-card small{color:var(--muted)}.contact-main p:not(.eyebrow){color:var(--muted);max-width:520px;margin:25px 0 45px}.contact h2{font-size:clamp(66px,10vw,145px)}.contact-links{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.contact-card{min-height:180px;padding:22px;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#111311;position:relative;transition:background .25s,color .25s,transform .25s}.contact-card:hover{background:var(--lime);color:#111}.contact-card span{font:500 10px "DM Mono",monospace;letter-spacing:.12em;color:var(--lime)}.contact-card:hover span{color:#111}.contact-card strong{font:600 clamp(18px,2vw,26px) "Playfair Display",serif;letter-spacing:-.03em}.contact-card b{position:absolute;right:20px;top:15px;font-size:24px;font-weight:400}footer{max-width:var(--max);width:calc(100% - 56px);margin:auto;padding:28px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--muted);font:10px "DM Mono",monospace;letter-spacing:.1em}.reveal{opacity:0;transform:translateY(45px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.8,.2,1)}.reveal.visible{opacity:1;transform:none}@media(max-width:760px){.site-header,.hero,.section,.work-strip,footer,.camera-sticky{width:calc(100% - 28px)}.site-header nav{display:none}.header-code{font-size:9px}.hero{height:auto;min-height:700px;align-items:flex-start;padding-top:105px}.hero canvas{inset:0;width:100%;height:100%;opacity:.8}.hero h1{font-size:clamp(70px,19vw,110px)}.hero-side{right:0;bottom:30px}.camera-copy{left:0;top:9%;width:250px}.camera-copy h2{font-size:56px}.camera-stage{top:20%}.stage-readout{top:5%;font-size:9px}.annotation{transform:scale(.82);transform-origin:left}.annotation-lens{right:0}.annotation-body{left:5%;top:22%}.annotation-light{right:0}.annotation-edit{left:0}.camera-steps{left:0;right:auto;bottom:5%;gap:9px;flex-wrap:wrap;max-width:300px}.section,.work-strip{padding:85px 0}.section-label{float:none;width:auto;display:block;margin-bottom:35px}.about-grid,.section-main,.work-strip{margin-left:0;display:block}.copy{margin-top:45px}.section h2{font-size:58px}.service-list{margin-top:48px}.service-list article{grid-template-columns:35px 1fr}.service-list p{grid-column:2}.process-grid{grid-template-columns:1fr 1fr}.process-grid article{min-height:145px}.process-grid article+article{padding-left:15px}.process-grid article:nth-child(2){border-right:0}.work-strip .archive-card{margin-top:50px}.contact-main{margin-left:0}.contact-links{grid-template-columns:1fr}.contact-card{min-height:125px}footer{gap:12px;flex-direction:column}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.scroll-mark b{animation:none}.camera-story{height:100svh}.camera-steps{display:none}}
.camera-fallback{display:none;position:absolute;right:7%;top:38%;width:360px;height:220px;z-index:1;filter:drop-shadow(0 24px 55px #000)}.fallback-body{position:absolute;left:0;top:20px;width:235px;height:150px;border:1px solid #6f756d;border-radius:14px;background:linear-gradient(145deg,#3d423e,#151816);box-shadow:inset 0 1px #8d9488}.fallback-body i{position:absolute;left:42px;top:-30px;width:100px;height:32px;border:1px solid #687064;background:#252a26}.fallback-body b{position:absolute;right:18px;top:-14px;width:34px;height:18px;border:2px solid var(--lime);border-radius:50%}.fallback-body span{position:absolute;left:-15px;bottom:-20px;width:70px;height:120px;border:1px solid #636b62;border-radius:12px;background:#1b1e1c}.fallback-lens{position:absolute;right:0;top:47px;width:155px;height:100px;border-radius:50%;border:18px solid #343a35;background:radial-gradient(circle,#75b5a4 0 15%,#1d4d48 17% 31%,#070908 33% 48%,#85915a 50% 53%,#151715 55%);box-shadow:0 0 45px #e8ff5520}.fallback-lens i{position:absolute;inset:-27px;border:1px solid #7a8177;border-radius:50%}.no-webgl .camera-fallback{display:block}.no-webgl #scene{display:none}.webgl-ready .camera-fallback{display:none}.hero-copy,.copy,.service-list p,.process-grid p,.contact-main p:not(.eyebrow){color:#b6b8b2}.text-link{min-height:44px;display:inline-flex;align-items:center}.site-header nav,.hero-side{color:#a4a69f}
@media(max-width:760px){.camera-fallback{right:50%;transform:translateX(50%) scale(.72);top:45%}.hero-actions{flex-wrap:wrap}.text-link{min-height:44px}.hero-copy{font-size:15px}.header-code,.eyebrow,.section-label,.hero-side{font-size:11px}}
@media(prefers-reduced-motion:reduce){.camera-fallback{display:block}.webgl-ready .camera-fallback{display:none}}
#scene,.hero canvas{z-index:1}.hero-content,.hero-side{z-index:3}.camera-copy,.camera-stage,.camera-steps{z-index:4}.section,.work-strip,footer{position:relative;z-index:2;background:var(--bg)}
