.portfolio-story{--paper:#eeece5;--dim:#898984;--accent:#ff4335;background:#0c0c0c;color:var(--paper);font-family:Arial,Helvetica,sans-serif;overflow:clip;position:relative}.portfolio-story:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:6;opacity:.035;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='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23g)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}.portfolio-story section{padding:100px clamp(24px,6.5vw,120px);position:relative}.story-label{display:flex;justify-content:space-between;gap:20px;font:10px/1.5 monospace;letter-spacing:.12em;border-top:1px solid #ffffff30;padding-top:20px;color:#aaa9a2}.portfolio-story h2{font-family:var(--font-kanit),Arial,sans-serif;font-size:clamp(64px,8.9vw,165px);line-height:.95;font-weight:700;letter-spacing:-.055em;margin:55px 0}.portfolio-story h2 span{color:var(--dim)}.story-title,.story-title h2{position:relative}.story-title h2{z-index:2;pointer-events:none}.story-object{position:absolute;width:32%;height:330px;right:0;top:-40px;opacity:.8}.story-object>span{font:250px/1 monospace;color:#444;position:absolute;inset:0;text-align:center}.story-object:has(canvas)>span{display:none}.story-object canvas{position:relative;width:100%;height:100%}.story-intro{display:grid;grid-template-columns:1fr 1.2fr;gap:50px;margin:70px 0 0}.story-kicker{font:11px/1.9 monospace;letter-spacing:.1em}.story-intro>div>p:first-child{font-size:clamp(24px,2.5vw,38px);line-height:1.3;letter-spacing:-.035em;max-width:25ch}.story-muted{color:#a5a59f;font-size:16px;line-height:1.8;max-width:53ch;margin-top:24px}.story-text-link{display:flex;justify-content:space-between;width:200px;border-bottom:1px solid #888;padding:20px 0 12px;font-size:13px;margin-top:10px}.story-gallery{height:480px;perspective:1200px;position:relative;touch-action:pan-y;outline-offset:5px;margin-top:60px;isolation:isolate}.story-carousel{--ring-depth:-430px;position:absolute;left:50%;top:50%;width:280px;height:330px;margin:-165px 0 0 -140px;transform-style:preserve-3d;transform:translateZ(-430px) rotateY(var(--turn,0deg));transition:transform .55s cubic-bezier(.2,.7,.2,1)}.story-gallery:active .story-carousel{transition:none}.story-carousel figure{position:absolute;inset:0;margin:0;transform:rotateY(calc(var(--i)*45deg)) translateZ(430px);backface-visibility:hidden;overflow:hidden;background:#222}.story-carousel img{height:100%;width:100%;object-fit:cover;pointer-events:none}.story-carousel figure:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#000b)}.story-carousel figcaption{position:absolute;bottom:20px;left:20px;font-size:14px;z-index:1}.story-gallery-foot{display:flex;align-items:center;justify-content:space-between;font:10px/1.5 monospace;letter-spacing:.08em;color:#aaa}.story-gallery-foot>div{display:flex;align-items:center;gap:22px}.story-gallery-foot button{border:1px solid #ffffff40;width:40px;height:40px;border-radius:50%;background:transparent;color:var(--paper);font-size:18px}.story-gallery-foot button:hover{background:var(--paper);color:#111}.story-facts{display:grid;grid-template-columns:repeat(3,1fr);margin-top:65px;border-top:1px solid #ffffff30;padding-top:36px}.story-facts>div{display:flex;flex-direction:column;gap:16px}.story-facts strong{font-family:var(--font-kanit),sans-serif;font-size:clamp(50px,6vw,88px);line-height:1;font-weight:700;letter-spacing:-.06em}.story-facts span{font:10px/1.5 monospace;text-transform:uppercase;letter-spacing:.06em;color:#a7a7a0}.story-services{background:#101010}.story-service{display:grid;grid-template-columns:50px 1fr 240px 30px;align-items:center;gap:16px;border-top:1px solid #ffffff30;min-height:132px;position:relative;color:var(--paper);isolation:isolate}.story-service:last-child{border-bottom:1px solid #ffffff30}.story-service-number{font:11px monospace;color:var(--dim)}.story-service h3{font-size:clamp(26px,4.3vw,64px);font-family:var(--font-kanit),sans-serif;letter-spacing:-.04em;font-weight:700;transition:transform .4s,color .4s}.story-service>p{font-size:12px;color:#aaa;max-width:22ch;line-height:1.7}.story-service-arrow{font-size:30px;transition:transform .4s}.story-service>img{position:absolute;left:var(--mx,60%);top:var(--my,50%);height:145px;width:145px;object-fit:cover;border-radius:50%;transform:translate(-50%,-50%) scale(.6);opacity:0;pointer-events:none;z-index:2;transition:opacity .25s,transform .3s}.story-service:hover h3{transform:translateX(14px);color:var(--accent)}.story-service:hover .story-service-arrow{transform:rotate(45deg)}.story-service:hover>img{opacity:1;transform:translate(-50%,-50%) scale(1)}.story-work-head{display:flex;justify-content:space-between;align-items:center}.story-round{height:100px;width:100px;display:grid;place-items:center;border:1px solid #777;border-radius:50%;font-size:44px;transition:background .25s,translate .25s}.story-round:hover{background:var(--accent);border-color:var(--accent)}.story-projects{display:grid;grid-template-columns:1.2fr 1fr;gap:80px 6vw;align-items:start}.story-project:nth-child(2n){margin-top:140px}.story-project figure{position:relative;margin:0;aspect-ratio:4/5;perspective:900px;background:#191919;transition:transform .6s;overflow:hidden}.story-project:nth-child(2) figure{aspect-ratio:1}.story-project img{width:100%;height:100%;object-fit:cover;transition:transform .7s,filter .7s;filter:saturate(.7)}.story-project:hover figure{transform:perspective(1000px) rotateX(4deg) rotateY(-3deg)}.story-project:hover img{transform:scale(1.06);filter:saturate(1)}.story-project-open{position:absolute;right:20px;bottom:20px;background:var(--paper);color:#111;border-radius:40px;padding:16px 22px;font:10px monospace;transform:translateY(80px);transition:transform .4s}.story-project:focus-visible .story-project-open,.story-project:hover .story-project-open{transform:none}.story-status{position:absolute;top:20px;left:20px;background:#111c;color:#eee;border:1px solid #ffffff40;padding:8px 12px;font:9px monospace;letter-spacing:.08em}.story-project-meta{border-top:1px solid #ffffff40;margin-top:22px;padding-top:15px}.story-project-meta>span{font:10px/1.5 monospace;letter-spacing:.04em;text-transform:uppercase;color:#aaa}.story-project-meta h3{font-size:clamp(24px,2.8vw,42px);font-family:var(--font-kanit),sans-serif;letter-spacing:-.03em;margin-top:10px}.story-manifesto{border-top:1px solid #ffffff20;text-align:center;background:radial-gradient(ellipse at 50% 50%,#23211e 0,#101010 70%)}.story-manifesto>p{font:10px monospace;letter-spacing:.18em}.portfolio-story .story-manifesto h2{font-size:clamp(70px,12vw,180px);text-transform:uppercase;line-height:.89;margin:55px 0}.story-manifesto h2 span{color:var(--accent)}.story-manifesto h2 em{font-family:Georgia,serif;font-weight:400;text-transform:none;letter-spacing:-.07em}.story-manifesto>div{display:flex;align-items:center;justify-content:center;gap:32px}.story-manifesto>div>span{color:var(--accent);font-size:65px}.story-manifesto>div>p{text-align:left;color:#aaa;font-size:12px;line-height:1.8}.story-contact>p{font-size:18px;margin-top:65px;color:#aaa}.portfolio-story .story-contact h2{font-size:clamp(50px,7.5vw,125px);margin:22px 0 45px;line-height:1.08}.story-contact select{font:inherit;letter-spacing:inherit;color:var(--accent);background:transparent;border:0;border-bottom:2px solid var(--accent);border-radius:0;max-width:100%;padding-right:12px;vertical-align:baseline}.story-contact option{background:#171717;color:var(--paper);font-size:24px}.story-contact-link{display:flex;align-items:center;justify-content:space-between;width:300px;border:1px solid #777;border-radius:99px;padding:22px 28px;font-size:14px;transition:translate .3s,background .3s}.story-contact-link:hover{background:var(--accent);border-color:var(--accent)}.story-contact-link span{font-size:24px}.story-contact-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #ffffff30;margin-top:100px;padding-top:25px;font:10px/1.6 monospace;color:#aaa}.story-dot,.story-ring{position:fixed;left:0;top:0;pointer-events:none;z-index:10000;border-radius:50%;display:none;transform:translate(-100px,-100px)}.story-dot{width:7px;height:7px;background:#fff;mix-blend-mode:difference}.story-ring{width:42px;height:42px;border:1px solid #eee9;transition:scale .3s,background .3s}.story-pointer,.story-pointer a,.story-pointer body,.story-pointer button,.story-pointer select{cursor:none!important}.story-pointer .story-dot,.story-pointer .story-ring{display:block}@media(max-width:900px){.portfolio-story section{padding:65px 24px}.story-label{font-size:9px}.story-label span:last-child{max-width:150px;text-align:right}.story-object{width:160px;height:180px;top:0;right:-45px;opacity:.3}.story-intro{grid-template-columns:1fr;gap:24px;margin-top:40px}.story-intro>div>p:first-child{max-width:32ch}.story-service{grid-template-columns:30px 1fr 24px;min-height:110px;gap:10px}.story-service>p{grid-column:2;grid-row:2;max-width:none;margin:-24px 0 20px}.story-service-arrow{grid-column:3;grid-row:1}.story-service>img{display:none}.story-projects{gap:40px 24px}.story-project:nth-child(2n){margin-top:70px}.story-round{width:70px;height:70px;font-size:32px}.story-project-open{display:none}.story-facts span{font-size:9px;max-width:14ch}.story-contact-bottom{flex-wrap:wrap}.story-contact-bottom>span{order:3;width:100%}.story-carousel{--ring-depth:-330px;width:220px;height:280px;margin:-140px 0 0 -110px;transform:translateZ(-330px) rotateY(var(--turn,0deg))}.story-carousel figure{transform:rotateY(calc(var(--i)*45deg)) translateZ(330px)}.story-gallery{height:380px}.story-gallery-foot{font-size:8px;gap:20px}.story-gallery-foot>span{max-width:140px}.story-gallery-foot>div{gap:12px}}@media(max-width:550px){.portfolio-story h2{font-size:clamp(48px,11.5vw,65px);margin:40px 0}.story-title h2{font-size:11.5vw}.story-projects{grid-template-columns:1fr}.story-project:nth-child(2n){margin-top:0}.story-project figure{aspect-ratio:5/4}.story-project:first-child figure{aspect-ratio:4/5}.story-status{top:14px;left:14px}.story-contact select{max-width:85vw}.portfolio-story .story-contact h2{font-size:11vw}.story-contact-link{width:100%}.story-muted{font-size:14px}.story-facts{gap:15px}.story-label{letter-spacing:.04em}.story-contact-bottom{margin-top:65px}}@media(prefers-reduced-motion:reduce){.portfolio-story *{scroll-behavior:auto!important;transition:none!important;animation:none!important}.story-dot,.story-ring{display:none!important}.story-pointer,.story-pointer a,.story-pointer body,.story-pointer button,.story-pointer select{cursor:auto!important}}body:has(.portfolio-story) .site-footer{background:#0c0c0c;color:#aaa;padding:0 clamp(24px,6.5vw,120px) 30px;font-family:Arial,Helvetica,sans-serif}body:has(.portfolio-story) .site-footer .container{width:100%;max-width:none;padding:0}body:has(.portfolio-story) .site-footer .footer-links{gap:24px;flex-wrap:wrap}body:has(.portfolio-story) .site-footer .footer-links a{font:11px/1.5 monospace;letter-spacing:.08em}body:has(.portfolio-story) .site-footer .footer-base{font:10px/1.5 monospace}body:has(.portfolio-story) .site-footer .hairline{opacity:.5}.story-gallery:focus-visible{outline:1px solid var(--accent)}.portfolio-story a:focus-visible,.portfolio-story button:focus-visible,.portfolio-story select:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.story-project:focus-visible figure{transform:perspective(1000px) rotateX(4deg)}@media(hover:none){.story-project-open{transform:none}.story-dot,.story-ring{display:none!important}}.book-archive{margin-top:65px}.book-scene{--page-width:clamp(210px,24vw,350px);--page-height:clamp(290px,32vw,460px);height:clamp(430px,46vw,650px);position:relative;perspective:1600px;isolation:isolate;touch-action:pan-y;outline-offset:8px}.book-bg-type{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;pointer-events:none;overflow:hidden;color:#eeece50b;font-family:var(--font-kanit),Arial,sans-serif;font-weight:700;font-size:clamp(90px,15vw,235px);line-height:.82;letter-spacing:-.065em}.book-bg-type span:last-child{-webkit-text-stroke:1px #eeece523;color:transparent}.galeria-book-3d{position:absolute;left:50%;top:50%;width:var(--page-width);height:var(--page-height);transform:translateY(-50%) rotateX(7deg) rotateY(-9deg);transform-style:preserve-3d}.galeria-book-3d__item{width:100%;height:100%;padding:0;border:0;border-radius:0 4px 4px 0;background:#252522;transform-origin:0 50%;transform:translateZ(calc(var(--i)*-2px)) rotateY(var(--page-angle));transform-style:preserve-3d;transition:transform 1s cubic-bezier(.2,.75,.2,1);box-shadow:2px 4px 2px #0008,0 20px 45px #0008}.book-face,.galeria-book-3d__item{position:absolute;inset:0;display:block}.book-face{backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden;border:1px solid #ffffff16;background:#1b1b1a;transform:translateZ(1px)}.book-face-back{transform:rotateY(180deg) translateZ(1px)}.book-face img{width:100%;height:100%;object-fit:cover;pointer-events:none;user-select:none}.book-face:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#0008,transparent 12%,transparent 85%,#ffffff10),linear-gradient(transparent 65%,#000b)}.book-face>span{position:absolute;bottom:20px;left:20px;right:20px;display:flex;justify-content:space-between;gap:15px;z-index:1;font:12px/1.4 Arial,sans-serif;color:#eee;text-align:left}.book-face small{font:9px/1.6 monospace;opacity:.6}.book-spine{position:absolute;left:-4px;top:-4px;width:8px;height:calc(100% + 8px);background:linear-gradient(90deg,#111,#777,#111);transform:translateZ(-12px);box-shadow:0 20px 80px #000;pointer-events:none}.book-controls{margin-top:15px}.book-controls button:disabled{opacity:.25;cursor:default}.book-controls>div>span{min-width:52px;text-align:center}.book-scene:focus-visible{outline:1px solid #ff4335}.galeria-book-3d__item:focus-visible{outline:2px solid #ff4335;outline-offset:5px}@media(hover:hover) and (prefers-reduced-motion:no-preference){.galeria-book-3d__item:not(.is-turned):hover{transform:translateZ(calc(var(--i)*-2px)) rotateY(calc(var(--page-angle) - 13deg))}.galeria-book-3d__item.is-turned:hover{transform:translateZ(calc(var(--i)*-2px)) rotateY(calc(var(--page-angle) + 10deg))}}@media(max-width:900px){.book-scene{--page-width:clamp(160px,30vw,265px);--page-height:clamp(230px,41vw,360px);height:450px}.book-bg-type{font-size:17vw}.book-archive{margin-top:35px}.book-face>span{left:12px;right:12px;bottom:14px;font-size:10px}}@media(max-width:550px){.book-scene{--page-width:40vw;--page-height:57vw;height:330px;perspective:1000px}.galeria-book-3d{transform:translateY(-50%) rotateX(5deg) rotateY(-6deg)}.book-bg-type{font-size:19vw;line-height:.95}.book-face>span{font-size:9px;bottom:10px;left:8px;right:8px}.book-face small{font-size:7px}.book-controls{margin-top:0}.book-controls>span{max-width:150px;line-height:1.8}.book-controls>div{gap:10px}}@media(prefers-reduced-motion:reduce){.galeria-book-3d__item{transition:none!important}.book-scene{perspective:none}.galeria-book-3d{transform:translateY(-50%)}.galeria-book-3d__item{transform:rotateY(0deg)!important;visibility:hidden}.galeria-book-3d__item[aria-hidden=false]{visibility:visible}.galeria-book-3d__item.is-turned{transform:rotateY(-180deg)!important}.book-spine{display:none}}.galeria-book-3d__item[aria-hidden=true]{visibility:hidden;pointer-events:none}.galeria-book-3d__item[aria-hidden=false]{box-shadow:2px 2px 0 #4b4b44,4px 4px 0 #151515,6px 6px 0 #3b3b36,0 22px 50px #0009}