@font-face{font-family:Manrope;src:url('assets/manrope-regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Manrope;src:url('assets/manrope-semibold.ttf') format('truetype');font-style:normal;font-weight:600 900;font-display:swap}
:root{--paper:#e9eae5;--ink:#181b19;--muted:#656b65;--gold:#b58c48;--line:rgba(24,27,25,.2);--pad:clamp(22px,4.5vw,88px);color-scheme:light;font-family:Manrope,Arial,sans-serif;font-synthesis:none;font-size:16px;background:var(--paper);color:var(--ink)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:6px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:2px}h1,h2,h3,p{margin:0}img{display:block;max-width:100%}button{color:inherit}::selection{background:#b9a377;color:#101411}.skip{position:fixed;top:-100px;left:20px;z-index:100;padding:16px;background:var(--ink);color:white}.skip:focus{top:12px}.reading-progress{height:2px;background:var(--gold);position:fixed;inset:0 0 auto;z-index:90;transform:scaleX(0);transform-origin:left}
.masthead{height:96px;position:absolute;inset:0 0 auto;z-index:30;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:12px}.brand img{border-radius:50%;width:44px;height:44px}.brand>span{font-size:18px;letter-spacing:3.4px;font-weight:600;line-height:1.05}.brand small{display:block;font-size:10px;letter-spacing:5px;font-weight:400;margin-top:6px}.masthead nav{display:flex;gap:38px;align-items:center;font-size:14px}.masthead nav a{padding:10px 0;position:relative}.masthead nav a:after{content:'';height:1px;position:absolute;bottom:5px;left:0;right:0;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}.masthead nav a:hover:after{transform:scaleX(1)}sup{font-size:10px;color:var(--muted);margin-left:3px}.nav-cta{border-bottom:1px solid var(--ink);display:flex;align-items:center;gap:30px;padding:12px 0;font-size:14px}.nav-cta span{font-size:22px}.menu-toggle{display:none}
.scene{position:fixed;inset:0;pointer-events:none;z-index:1;contain:strict}.scene canvas{width:100%;height:100%;display:block;opacity:0}.scene.ready canvas{opacity:1}.scene-fallback{position:absolute;width:min(36vw,500px);height:auto;right:13%;top:30%;border-radius:50%;opacity:.95}.scene.ready .scene-fallback{display:none}.story{position:relative;z-index:2}.story-sticky{position:relative}.story-top{padding:118px var(--pad) 0;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.09em;color:var(--muted)}.story-panel{padding:100px var(--pad);min-height:650px}.story-panel h1,.story-panel h2{font-weight:600;font-size:clamp(64px,7.5vw,126px);letter-spacing:-.078em;line-height:1.04}.story-panel h1>span,.story-panel h2>span{color:#858b82}.eyebrow{font-size:12px;letter-spacing:.095em;font-weight:600;display:flex;align-items:center;gap:12px;margin-bottom:28px}.tiny-cross{font-size:23px;font-weight:400;line-height:1;color:var(--gold)}.hero-panel h1{max-width:850px;position:relative}.hero-baseline{display:flex;align-items:flex-end;gap:64px;margin-top:34px}.hero-baseline p{font-size:16px;line-height:1.75;max-width:350px;color:#565d56}.circle-link{display:inline-flex;align-items:center;gap:23px;font-size:14px}.circle-link b{font-weight:400;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;width:52px;height:52px;font-size:24px;transition:background .25s,color .25s,transform .25s}.circle-link:hover b{background:var(--ink);color:var(--paper);transform:rotate(45deg)}.panel-desc{max-width:440px;font-size:17px;line-height:1.85;margin:30px 0 25px;color:#565d56}.inline-tags{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;line-height:1.5}.inline-tags span{border:1px solid currentColor;border-radius:30px;padding:6px 12px;opacity:.7}.underlined{display:inline-flex;justify-content:space-between;align-items:center;gap:35px;border-bottom:1px solid currentColor;padding-bottom:9px;margin-top:36px;font-size:14px}.underlined span{font-size:22px}.object-caption{display:none}.story-bottom{display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad) 28px;gap:24px}.scroll-prompt{font-size:11px;letter-spacing:.09em;display:flex;align-items:center;gap:13px}.scroll-prompt>span{font-size:25px;color:var(--gold)}.scene-nav{display:flex;align-items:center;gap:12px;font-size:12px}.scene-nav a{padding:12px 6px;opacity:.4}.scene-nav a[aria-current]{opacity:1}.scene-nav>span{height:1px;width:28px;background:currentColor;opacity:.25}#motion{font-size:12px;border:0;background:none;padding:12px 0;display:flex;align-items:center;gap:15px}.story-anchor{position:absolute;pointer-events:none}.anchor-build{top:28%}.anchor-ai{top:57%}
.is-enhanced .story{height:470svh}.is-enhanced .story-sticky{position:sticky;top:0;height:100svh;min-height:660px;overflow:hidden}.is-enhanced .story-panel{position:absolute;inset:0;padding:0;min-height:0;opacity:0;visibility:hidden;pointer-events:none}.is-enhanced .hero-panel{padding-left:var(--pad);padding-top:clamp(160px,22vh,260px)}.is-enhanced .story-panel.is-active{pointer-events:auto;visibility:visible}.is-enhanced .build-panel,.is-enhanced .ai-panel{padding-left:56%;padding-right:var(--pad);padding-top:clamp(150px,21vh,240px)}.is-enhanced .build-panel h2,.is-enhanced .ai-panel h2{font-size:clamp(64px,6.2vw,104px);line-height:1.07}.is-enhanced .portal-panel{display:flex;align-items:center;flex-direction:column;justify-content:center;text-align:center;padding:60px var(--pad);color:#f0f0ea}.is-enhanced .portal-panel h2{font-size:clamp(80px,11vw,180px)}.is-enhanced .portal-panel h2>span{color:#acb0a6}.is-enhanced .story-bottom{position:absolute;bottom:0;left:0;right:0;padding-bottom:25px}.is-enhanced .object-caption{display:flex;gap:18px;align-items:center;position:absolute;right:var(--pad);bottom:150px;font-size:11px;letter-spacing:.08em;color:var(--muted)}.object-id{color:var(--gold)}.object-rule{width:70px;height:1px;background:currentColor}.story-sticky.is-dark .story-top,.story-sticky.is-dark .story-bottom,.story-sticky.is-dark .object-caption{color:#abb0a9}.story-sticky.is-dark .ai-panel{color:#eceee7}.story-sticky.is-dark .ai-panel .panel-desc{color:#b2b8ae}.story-sticky.is-dark .ai-panel h2>span{color:#c5ac7b}
.section{position:relative;z-index:3;padding:100px var(--pad);background:var(--paper)}.section-label{display:flex;justify-content:space-between;gap:25px;font-size:12px;letter-spacing:.055em;padding-bottom:64px}.section-label span:last-child{color:var(--muted)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:60px}h2{font-size:clamp(52px,6vw,98px);letter-spacing:-.065em;line-height:1.1;font-weight:600}h2>span{color:#858b82}.section-heading>p{font-size:16px;line-height:1.75;margin-bottom:6px;color:#656b65}.projects{padding-top:110px;padding-bottom:140px}.project-list{display:grid;grid-template-columns:1fr 1fr;gap:65px 28px}.project-wide{grid-column:1/-1}.project-photo{position:relative;overflow:hidden;isolation:isolate;aspect-ratio:1.13;background:#171b18}.project-wide .project-photo{aspect-ratio:1.95}.project-photo>img{width:100%;height:100%;object-fit:cover;transition:transform .75s cubic-bezier(.2,.65,.3,1)}.project a:hover .project-photo>img{transform:scale(1.035)}.photo-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.14),transparent 40%,rgba(0,0,0,.58));pointer-events:none}.project-topline{position:absolute;top:30px;left:32px;font-size:12px;letter-spacing:.05em;color:white}.project-word{position:absolute;bottom:20px;left:30px;color:#f2f0e8;font-size:clamp(55px,7vw,118px);font-weight:600;letter-spacing:-.06em;line-height:1}.project-wide .project-word{font-size:clamp(100px,15vw,250px);bottom:10px;letter-spacing:-.08em}.project-word.smaller{font-size:clamp(44px,5vw,82px);line-height:.98;bottom:30px}.project-open{position:absolute;right:30px;bottom:30px;border:1px solid #ffffff70;border-radius:50%;width:54px;height:54px;display:grid;place-items:center;color:white;font-size:28px}.project-caption{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;padding-top:22px}.project-caption h3{font-size:18px;font-weight:400}.project-caption>span{font-size:12px;color:var(--muted)}.project-caption .project-number{margin-left:auto}.project:not(.project-wide) .project-caption h3{width:100%}
.expertise{background:#1b1f1b;color:#e7eae1;padding-bottom:0;overflow:hidden}.expertise .section-label span:last-child{color:#9aa294}.expertise-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:10%}.expertise-intro h2{font-size:clamp(56px,5.5vw,90px)}.expertise-intro h2>span{color:#949e8c}.expertise-intro>p:not(.eyebrow){font-size:17px;line-height:1.8;max-width:370px;color:#b1b9a9;margin-top:30px}.expertise-intro .circle-link{margin-top:40px}.expertise .circle-link:hover b{background:#e7eae1;color:#1b1f1b}.service-list{border-top:1px solid #65705e}.service-list details{border-bottom:1px solid #424b3d}.service-list summary{display:flex;align-items:center;gap:25px;cursor:pointer;list-style:none;padding:30px 0}.service-list summary::-webkit-details-marker{display:none}.service-list summary>span{font-size:12px;color:#a4af98}.service-list h3{font-size:clamp(20px,1.6vw,28px);font-weight:400;letter-spacing:-.03em}.service-list summary>b{margin-left:auto;font-weight:400;font-size:25px;transition:transform .2s}.service-list details[open] summary>b{transform:rotate(45deg)}.service-content{padding:0 20px 30px 41px}.service-content p{font-size:16px;line-height:1.8;color:#abb6a1}.service-content .inline-tags{margin-top:25px}.capability-strip{display:flex;gap:3vw;white-space:nowrap;align-items:center;margin:115px -10px -13px;font-weight:600;font-size:7.1vw;letter-spacing:-.07em;color:#3c4735;line-height:1}.capability-strip i{font-size:5vw;color:#a58e61;font-style:normal;font-weight:400}
.studio{padding-top:110px;padding-bottom:130px}.studio-statement{display:grid;grid-template-columns:1.5fr .8fr;gap:10%;align-items:end}.studio-statement>p{font-size:clamp(42px,5vw,82px);letter-spacing:-.057em;line-height:1.18}.studio-statement>p>span{color:#82897c}.studio-statement>div>p{font-size:17px;line-height:1.9;margin-top:28px;color:#60675e}.studio-statement img{border-radius:50%}.process{margin-top:110px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.process article{padding:30px 28px 0 0}.process article+article{padding-left:26px;border-left:1px solid var(--line)}.process article>span{font-size:12px;color:#747b6f}.process h3{font-size:21px;font-weight:400;margin-top:28px;letter-spacing:-.03em}.process p{font-size:15px;line-height:1.8;color:#687061;margin-top:14px}
.contact{background:#151915;color:#e7eae0;padding-bottom:100px}.contact .section-label span:last-child{color:#949e89}.contact-heading{display:flex;justify-content:space-between;gap:50px;align-items:flex-end;margin-bottom:85px}.contact h2{font-size:clamp(90px,12vw,190px);line-height:.99}.contact h2>span{color:#9ca68f}.contact-heading p{font-size:17px;line-height:1.8;color:#a5ae99;margin-bottom:10px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%}.contact-address{display:flex;flex-direction:column;align-items:flex-start;gap:27px;font-size:14px}.contact-mail{font-size:clamp(18px,2vw,30px);padding-bottom:10px;border-bottom:1px solid #5b6752;display:flex;align-items:center;gap:35px;letter-spacing:-.035em}.contact-address>p{margin-top:40px;color:#89967c;line-height:1.8}#brief{display:grid;gap:22px}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:25px}label{display:block;font-size:13px;color:#b2bea4}input,select,textarea{width:100%;display:block;padding:14px 0;background:transparent;border:0;border-bottom:1px solid #4b5842;border-radius:0;color:#e7eddf;font-size:16px;resize:vertical}select option{background:#1b2317;color:#e7eddf}input::placeholder,textarea::placeholder{color:#7a896e;opacity:1}#brief button{display:flex;align-items:center;justify-content:space-between;border:0;border-bottom:1px solid #e0e8d5;background:none;padding:17px 0;color:#e0e8d5;font-size:17px;text-align:left}#brief button>span{font-size:28px}.form-note,#form-status{font-size:12px;line-height:1.7;color:#8e9c82}#form-status:empty{display:none}.footer{position:relative;z-index:3;background:#151915;color:#e7eae0;padding:30px var(--pad) 26px}.footer-word{display:block;font-size:22.3vw;line-height:.82;letter-spacing:-.087em;font-weight:600;position:relative;width:max-content;max-width:100%;margin-left:-.013em}.footer-word>span{position:absolute;top:10%;right:-.8em;font-size:2.3vw;letter-spacing:0}.footer-bottom{border-top:1px solid #38462e;padding-top:26px;display:flex;justify-content:space-between;gap:22px;margin-top:58px;font-size:11px;letter-spacing:.03em;color:#8c9a7f}
.motion-off .story{height:auto}.motion-off .story-sticky{position:relative;height:auto;min-height:0;overflow:visible}.motion-off .story-panel{position:relative;opacity:1!important;visibility:visible!important;transform:none!important;pointer-events:auto;padding:90px var(--pad);min-height:0}.motion-off .hero-panel{padding-top:80px}.motion-off .hero-panel h1{max-width:700px}.motion-off .build-panel,.motion-off .ai-panel{border-top:1px solid var(--line)}.motion-off .story-bottom{position:relative;padding-top:30px}.motion-off .story-top{padding-top:130px}.motion-off .scene-nav,.motion-off .object-caption,.motion-off .scroll-prompt{display:none}.motion-off .portal-panel{display:none}.motion-off .scene{display:none}.motion-off .story-anchor{position:static}.motion-off .story-sticky.is-dark .ai-panel{color:var(--ink)}.motion-off .story-sticky.is-dark .ai-panel .panel-desc{color:var(--muted)}
@media(min-width:1650px){.is-enhanced .hero-panel{padding-top:23vh}.hero-baseline{margin-top:48px}.is-enhanced .build-panel,.is-enhanced .ai-panel{padding-top:22vh}}@media(max-width:1050px){.masthead nav{gap:22px}.hero-baseline{gap:30px}.hero-baseline p{font-size:15px}.is-enhanced .hero-panel{padding-top:25vh}.story-panel h1{font-size:8.5vw}.is-enhanced .build-panel,.is-enhanced .ai-panel{padding-left:51%;padding-top:23vh}.is-enhanced .build-panel h2,.is-enhanced .ai-panel h2{font-size:7vw}.panel-desc{font-size:16px}.section-label{padding-bottom:45px}.expertise-grid{gap:7%;grid-template-columns:.9fr 1.2fr}.contact-grid{gap:7%}.studio-statement{gap:7%}}
@media(max-width:700px){:root{--pad:22px}html{scroll-padding-top:24px}.masthead{height:82px;gap:18px}.brand img{width:38px;height:38px}.brand{gap:10px}.brand>span{font-size:15px;letter-spacing:2.5px}.brand small{font-size:8px;letter-spacing:4px}.masthead nav{display:none;position:absolute;left:16px;right:16px;top:77px;background:var(--ink);color:var(--paper);padding:28px;box-shadow:0 15px 30px #0002;flex-direction:column;align-items:flex-start;font-size:24px;gap:15px}.masthead nav.open{display:flex}.nav-cta{font-size:12px;gap:12px}.menu-toggle{display:flex;border:0;background:none;padding:10px 0;font-size:12px;gap:8px;align-items:center}.menu-toggle span{font-size:21px}.story-top{padding-top:105px;font-size:10px;letter-spacing:.035em}.story-top>span:last-child{display:none}.is-enhanced .story{height:440svh}.is-enhanced .story-sticky{min-height:620px}.is-enhanced .hero-panel{padding-top:150px;padding-left:var(--pad);padding-right:var(--pad)}.eyebrow{font-size:10px;letter-spacing:.075em;margin-bottom:20px}.tiny-cross{font-size:19px}.story-panel h1{font-size:15.2vw;line-height:1.055;letter-spacing:-.073em}.hero-baseline{margin-top:24px;gap:20px;display:block}.hero-baseline p{font-size:14px;line-height:1.7;max-width:250px}.hero-baseline .circle-link{margin-top:22px;font-size:12px;gap:18px}.circle-link b{width:40px;height:40px;font-size:22px}.is-enhanced .build-panel,.is-enhanced .ai-panel{padding:140px var(--pad) 0}.is-enhanced .build-panel h2,.is-enhanced .ai-panel h2{font-size:12.3vw;line-height:1.05}.panel-desc{max-width:330px;font-size:15px;line-height:1.7;margin:24px 0 20px}.inline-tags{font-size:11px;gap:6px}.inline-tags span{padding:5px 9px}.underlined{margin-top:24px;font-size:13px}.is-enhanced .story-bottom{padding:0 var(--pad) 18px;align-items:center;gap:12px}.scroll-prompt{font-size:9px;letter-spacing:0;gap:10px}.scroll-prompt span{font-size:22px}.scene-nav{gap:2px;font-size:10px}.scene-nav>span{width:10px}.scene-nav a{padding:8px 5px}#motion{font-size:10px;gap:6px}.is-enhanced .object-caption{bottom:93px;font-size:9px;right:var(--pad);gap:12px}.object-rule{width:25px}.is-enhanced .portal-panel h2{font-size:19vw}.is-enhanced .portal-panel .eyebrow{font-size:10px}.scene-fallback{width:40vw;right:3%;top:57%}.section{padding:68px var(--pad)}.section-label{font-size:10px;line-height:1.5;padding-bottom:40px;letter-spacing:.02em}.section-label>span:last-child{text-align:right;max-width:140px}.section-heading{display:block;margin-bottom:34px}h2{font-size:13.8vw;line-height:1.12}.section-heading>p{margin-top:24px;font-size:15px}.project-list{display:block}.project{margin-bottom:35px}.project-wide .project-photo,.project-photo{aspect-ratio:.98}.project-wide .project-word{font-size:25vw}.project-word{font-size:17vw;left:20px;bottom:22px}.project-word.smaller{font-size:14vw}.project-topline{left:20px;top:20px;font-size:10px}.project-open{right:20px;bottom:20px;width:40px;height:40px;font-size:24px}.project-caption{padding-top:16px;gap:8px}.project-caption h3{font-size:16px;width:100%}.project-caption>span{font-size:11px}.project-caption .project-number{font-size:10px}.projects{padding-bottom:40px}.expertise-grid{display:block}.expertise-intro h2{font-size:14vw}.expertise-intro>p:not(.eyebrow){font-size:16px;margin-top:23px}.expertise-intro .circle-link{margin-top:25px}.service-list{margin-top:48px}.service-list summary{padding:25px 0;gap:17px}.service-list h3{font-size:19px}.service-content{padding:0 0 25px 32px}.service-content p{font-size:15px}.capability-strip{margin:65px -12px -73px;font-size:8.1vw;gap:3vw}.studio-statement{display:block}.studio-statement>p{font-size:11.7vw;line-height:1.2}.studio-statement>div{margin-top:40px;display:flex;gap:22px;align-items:flex-start}.studio-statement img{width:54px;height:54px;margin-top:4px}.studio-statement>div>p{margin:0;font-size:15px;line-height:1.8}.process{margin-top:60px;grid-template-columns:1fr 1fr}.process article{padding:22px 16px 25px 0}.process article+article{padding:22px 0 25px 16px}.process article:nth-child(3){border-left:0;border-top:1px solid var(--line);padding-left:0;padding-right:16px}.process article:nth-child(4){border-top:1px solid var(--line)}.process article>span{font-size:10px}.process h3{font-size:18px;margin-top:22px}.process p{font-size:14px}.contact-heading{display:block;margin-bottom:42px}.contact h2{font-size:23vw;line-height:1.02}.contact-heading>p{margin-top:26px;font-size:15px}.contact-grid{display:block}.contact-address{gap:23px}.contact-mail{font-size:20px;gap:20px}.contact-address>p{display:none}#brief{margin-top:52px;gap:20px}.form-pair{gap:20px}label{font-size:12px}#brief input,#brief select,#brief textarea{font-size:16px}#brief button{font-size:16px}.footer{padding:14px var(--pad) 24px}.footer-word{font-size:21.5vw}.footer-bottom{flex-wrap:wrap;margin-top:32px;gap:18px 25px;font-size:9px}.footer-bottom>span:first-child{width:100%}.footer-word>span{font-size:3vw}.motion-off .story-panel{padding:65px var(--pad)}.motion-off .story-top{padding-top:110px}.motion-off .story-panel h2{font-size:13vw}}
@media(max-height:720px) and (min-width:701px){.story-panel h1{font-size:min(7vw,95px)}.is-enhanced .hero-panel{padding-top:160px}.hero-baseline{margin-top:24px}.is-enhanced .build-panel,.is-enhanced .ai-panel{padding-top:140px}.is-enhanced .build-panel h2,.is-enhanced .ai-panel h2{font-size:70px}.panel-desc{font-size:15px;margin:22px 0 18px}.underlined{margin-top:24px}.object-caption{bottom:110px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.reveal-on-scroll{opacity:0;transform:translate3d(0,30px,0);transition:opacity .65s ease,transform .8s cubic-bezier(.2,.65,.3,1)}.reveal-on-scroll.in-view{opacity:1;transform:none}.process article:nth-child(2){transition-delay:.08s}.process article:nth-child(3){transition-delay:.16s}.process article:nth-child(4){transition-delay:.24s}.motion-off .reveal-on-scroll{opacity:1;transform:none;transition:none}
.contact{background:linear-gradient(90deg,#151915 30%,#151915e8 63%,#15191570)}
.is-enhanced .portal-panel h2{font-size:clamp(80px,8.5vw,140px);text-shadow:0 2px 28px #0008}.is-enhanced .portal-panel h2>span{color:#d5d5c9}
@supports(animation-timeline:view()){@media(prefers-reduced-motion:no-preference){.project-photo{view-timeline-name:--project-view;view-timeline-axis:block}.project-photo>img{animation:photo-drift linear both;animation-timeline:--project-view;animation-range:entry 0% exit 100%}.project-word{animation:title-drift linear both;animation-timeline:--project-view;animation-range:entry 0% exit 100%}.motion-off .project-photo>img,.motion-off .project-word{animation:none}}}
@keyframes photo-drift{from{transform:scale(1.075) translateY(-2%)}to{transform:scale(1.075) translateY(2%)}}@keyframes title-drift{from{transform:translateY(12px)}to{transform:translateY(-12px)}}
@media(max-width:700px){.contact{background:#151915}.is-enhanced .portal-panel h2{font-size:18vw}}
@media(prefers-reduced-motion:reduce){.reveal-on-scroll{opacity:1;transform:none}}
@media(max-width:700px){.is-enhanced .object-caption{display:none}.story-bottom #motion{max-width:77px;text-align:left}}
@media(max-height:620px){#motion{display:none}.motion-off .story-panel{padding-top:55px;padding-bottom:55px}.motion-off .hero-panel{padding-top:70px}}
@supports(animation-timeline:view()){@media(prefers-reduced-motion:no-preference){.capability-strip{animation:strip-drift linear both;animation-timeline:view();animation-range:entry 0% exit 100%}.motion-off .capability-strip{animation:none;font-size:5.7vw}}}@keyframes strip-drift{from{transform:translateX(0)}to{transform:translateX(-17vw)}}
.case-page{padding-top:165px}.case-back{font-size:14px;display:inline-block;margin-bottom:50px}.case-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:50px}.case-heading h1{font-size:clamp(65px,11vw,180px);font-weight:600;letter-spacing:-.07em;line-height:1}.case-heading>span{font-size:14px;color:var(--muted);padding-bottom:12px}.case-cover{width:100%;aspect-ratio:1.8;object-fit:cover}.case-description{display:grid;grid-template-columns:1fr 1fr;gap:12%;margin:85px 0 110px}.case-description h2{font-size:clamp(40px,4vw,70px)}.case-description p{font-size:17px;color:var(--muted);line-height:1.85}.case-description .case-scope{font-size:13px;margin:26px 0}.case-description .circle-link{margin-top:18px}.next-project{display:flex;align-items:center;gap:50px;border-top:1px solid var(--line);padding:35px 0}.next-project>span{font-size:12px;color:var(--muted)}.next-project strong{font-size:clamp(32px,4vw,60px);letter-spacing:-.05em;font-weight:400}.next-project b{font-size:40px;font-weight:400;margin-left:auto}.legal{position:relative;padding:160px var(--pad) 100px;max-width:950px;margin:0 auto}.legal h1{font-size:64px;letter-spacing:-.055em;margin-bottom:40px}.legal h2{font-size:28px;letter-spacing:-.025em;margin:36px 0 14px}.legal p{font-size:16px;line-height:1.9;margin-bottom:18px}.legal a{text-decoration:underline}
@media(max-width:700px){.case-page{padding-top:125px}.case-back{margin-bottom:35px}.case-heading{display:block;margin-bottom:30px}.case-heading h1{font-size:17vw}.case-heading>span{display:block;font-size:12px;margin-top:22px}.case-cover{aspect-ratio:.95}.case-description{display:block;margin:45px 0 60px}.case-description h2{font-size:40px;margin-bottom:28px}.case-description p{font-size:16px}.next-project{gap:20px;flex-wrap:wrap}.next-project>span{width:100%}.next-project strong{font-size:32px}.legal{padding-top:120px}.legal h1{font-size:48px}.legal h2{font-size:25px}}
.is-enhanced .story-bottom{padding-top:18px;background:linear-gradient(to top,var(--paper) 65%,transparent)}.is-enhanced .story-sticky.is-dark .story-bottom{background:linear-gradient(to top,#151915 65%,transparent)}
.contact{background:#151915}.webgl-ready:not(.motion-off) .contact{background:linear-gradient(90deg,#151915 30%,#151915e8 63%,#15191570)}
@media(max-width:700px){.webgl-ready:not(.motion-off) .contact{background:#151915}.story-bottom #motion{font-size:12px;max-width:95px}.scene-nav{font-size:12px;gap:0}.scene-nav>span{width:5px}.scroll-prompt{font-size:11px;gap:7px}.eyebrow,.story-top,.project-topline,.inline-tags{font-size:12px}.story-top{letter-spacing:0}.section-label{font-size:12px;letter-spacing:0}.section-label>span:last-child{font-size:11px}.object-caption{display:none}.story-panel .underlined{margin-top:22px}}
body:not(.webgl-ready):not(.motion-off) .story-sticky.is-dark{background:#151915}


/* Mobile polish — Rushly Studio V3.1 */
.symbol-text,.nav-cta span,.circle-link b,.underlined span,.project-open,.contact-mail span,#brief button span,.next-project b,.tiny-cross{font-family:Arial,Helvetica,sans-serif;font-variant-emoji:text}

@media(max-width:700px){
  .masthead{
    z-index:80;
    transition:background .28s ease,box-shadow .28s ease,color .28s ease;
  }
  body.menu-open{
    overflow:hidden;
    overscroll-behavior:none;
  }
  body.menu-open .masthead{
    position:fixed;
    background:rgba(233,234,229,.96);
    -webkit-backdrop-filter:blur(18px) saturate(1.1);
    backdrop-filter:blur(18px) saturate(1.1);
    box-shadow:0 1px 0 rgba(24,27,25,.12);
  }
  .masthead nav{
    display:flex;
    position:fixed;
    inset:82px 0 0;
    width:auto;
    height:calc(100dvh - 82px);
    padding:34px var(--pad) 28px;
    background:#151915;
    color:#edf0e8;
    box-shadow:none;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    overflow:auto;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translate3d(0,-14px,0);
    transition:opacity .28s ease,transform .38s cubic-bezier(.2,.8,.2,1),visibility 0s linear .38s;
  }
  .masthead nav.open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
    transition-delay:0s;
  }
  .masthead nav::before{
    content:'RUSHLY / NAVIGATION';
    display:block;
    margin:2px 0 30px;
    color:#92998f;
    font-size:10px;
    font-weight:600;
    letter-spacing:.14em;
  }
  .masthead nav::after{
    content:'YAZILIM  ·  TASARIM  ·  YAPAY ZEKÂ';
    display:block;
    margin-top:auto;
    padding-top:34px;
    color:#8b9288;
    border-top:1px solid rgba(237,240,232,.14);
    font-size:10px;
    letter-spacing:.11em;
  }
  .masthead nav a{
    position:relative;
    display:grid;
    grid-template-columns:42px minmax(0,1fr) 20px;
    align-items:center;
    gap:8px;
    width:100%;
    padding:22px 0 24px;
    border-bottom:1px solid rgba(237,240,232,.16);
    font-size:clamp(32px,9.5vw,46px);
    font-weight:400;
    letter-spacing:-.055em;
    line-height:1;
    opacity:0;
    transform:translateY(16px);
    transition:opacity .28s ease,transform .45s cubic-bezier(.2,.8,.2,1),color .2s ease;
  }
  .masthead nav.open a{opacity:1;transform:none}
  .masthead nav.open .mobile-nav-links>a{
    transition-delay:var(--rushly-nav-delay,.07s);
  }
  .masthead nav a::before{
    color:#8f968c;
    font-size:10px;
    font-weight:600;
    letter-spacing:.08em;
    align-self:start;
    padding-top:5px;
  }
  .masthead nav a::after{
    content:'';
    width:9px;
    height:9px;
    border-top:1.5px solid currentColor;
    border-right:1.5px solid currentColor;
    transform:rotate(45deg);
    opacity:.65;
    justify-self:end;
  }
  .masthead nav a sup{display:none}
  .masthead nav a:hover{color:#c9ad79}
  .masthead nav a:hover::after{opacity:1}

  .menu-toggle{
    position:relative;
    z-index:2;
    min-width:56px;
    justify-content:flex-end;
    font-size:12px;
  }
  .menu-toggle span{
    display:inline-block;
    line-height:1;
    transition:transform .32s cubic-bezier(.2,.8,.2,1);
    transform-origin:50% 50%;
  }
  body.menu-open .menu-toggle span{transform:rotate(45deg)}
}


/* Rushly cinematic loader — V3.2 */
.site-loader{
  --loader-ink:#0d100e;
  --loader-gold:#c59a56;
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 44%,rgba(197,154,86,.075),transparent 27%),
    linear-gradient(180deg,#0b0e0c 0%,#101411 100%);
  color:#e9eae5;
  opacity:1;
  visibility:visible;
  transition:opacity .88s cubic-bezier(.22,.61,.36,1),visibility 0s linear .9s;
  isolation:isolate;
}
.site-loader::before{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.32;
  background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.012) 1px,transparent 1px);
  background-size:100% 36px,36px 100%;
  -webkit-mask-image:radial-gradient(circle at center,#000 0%,transparent 67%);
  mask-image:radial-gradient(circle at center,#000 0%,transparent 67%);
}
.site-loader::after{
  content:'';
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:1px;
  background:linear-gradient(90deg,transparent 0%,var(--loader-gold) 47%,#f0d9b1 52%,transparent 100%);
  box-shadow:0 0 24px rgba(197,154,86,.42);
  transform:translateY(-2px);
  animation:loader-scan 2.35s cubic-bezier(.22,.61,.36,1) .2s both;
}
.loader-atmosphere{
  position:absolute;
  width:min(80vw,820px);
  aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle,rgba(197,154,86,.09) 0%,rgba(80,103,91,.045) 42%,transparent 70%);
  filter:blur(20px);
  animation:loader-breathe 2.8s ease-in-out infinite alternate;
}
.loader-content{
  position:relative;
  z-index:1;
  width:min(78vw,420px);
  display:flex;
  flex-direction:column;
  align-items:center;
  transform:translateY(-1.5vh);
}
.loader-mark{
  position:relative;
  width:min(66vw,330px);
  aspect-ratio:1;
  display:grid;
  place-items:center;
  animation:loader-mark-in 1.25s cubic-bezier(.16,1,.3,1) both;
}
.loader-mark::after{
  content:'';
  position:absolute;
  inset:16%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.09),transparent 65%);
  filter:blur(20px);
  opacity:.5;
  z-index:-1;
}
.loader-mark img{
  position:relative;
  z-index:2;
  width:100%;
  height:100%;
  object-fit:contain;
  filter:drop-shadow(0 20px 40px rgba(0,0,0,.38));
  animation:loader-logo-float 2.8s ease-in-out 1.05s infinite alternate;
}
.loader-orbit{
  position:absolute;
  border-radius:50%;
  pointer-events:none;
}
.loader-orbit-a{
  inset:5%;
  border:1px solid rgba(197,154,86,.22);
  border-left-color:rgba(197,154,86,.72);
  border-top-color:rgba(240,217,177,.48);
  animation:loader-orbit 4.4s linear infinite;
}
.loader-orbit-b{
  inset:1.5%;
  border:1px solid rgba(220,226,218,.08);
  border-right-color:rgba(184,199,213,.35);
  transform:rotate(35deg);
  animation:loader-orbit-reverse 6.2s linear infinite;
}
.loader-progress{
  position:relative;
  width:min(52vw,215px);
  height:1px;
  margin-top:18px;
  background:rgba(233,234,229,.12);
  overflow:hidden;
}
.loader-progress span{
  position:absolute;
  inset:0;
  transform:scaleX(0);
  transform-origin:left;
  background:linear-gradient(90deg,#806334,var(--loader-gold),#ead0a4);
  animation:loader-progress 2.9s cubic-bezier(.19,1,.22,1) .25s forwards;
}
.loader-caption{
  width:min(52vw,215px);
  display:flex;
  justify-content:space-between;
  gap:18px;
  margin-top:11px;
  color:rgba(233,234,229,.47);
  font-size:8px;
  line-height:1;
  letter-spacing:.17em;
  font-weight:600;
  white-space:nowrap;
  opacity:0;
  animation:loader-caption-in .75s ease .9s forwards;
}
.site-loader.is-leaving{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.site-loader.is-leaving .loader-content{
  transform:translateY(-1.5vh) scale(1.035);
  filter:blur(3px);
  opacity:0;
  transition:transform .88s cubic-bezier(.22,.61,.36,1),filter .88s ease,opacity .68s ease;
}
.site-loader.is-leaving::after{opacity:0;transition:opacity .25s ease}
@keyframes loader-mark-in{0%{opacity:0;transform:scale(.86);filter:blur(10px)}55%{opacity:1}100%{opacity:1;transform:scale(1);filter:blur(0)}}
@keyframes loader-logo-float{from{transform:translateY(0) scale(1)}to{transform:translateY(-4px) scale(1.012)}}
@keyframes loader-orbit{to{transform:rotate(360deg)}}
@keyframes loader-orbit-reverse{from{transform:rotate(35deg)}to{transform:rotate(-325deg)}}
@keyframes loader-progress{0%{transform:scaleX(0)}58%{transform:scaleX(.72)}100%{transform:scaleX(1)}}
@keyframes loader-caption-in{to{opacity:1}}
@keyframes loader-scan{0%{transform:translateY(-2px);opacity:0}12%{opacity:1}100%{transform:translateY(100vh);opacity:.15}}
@keyframes loader-breathe{from{transform:scale(.9);opacity:.58}to{transform:scale(1.06);opacity:1}}
@media(max-width:700px){
  .loader-content{width:86vw;transform:translateY(-3vh)}
  .loader-mark{width:min(72vw,315px)}
  .loader-progress,.loader-caption{width:min(54vw,210px)}
  .loader-caption{font-size:7px;letter-spacing:.14em}
}
@media(prefers-reduced-motion:reduce){
  .site-loader::after,.loader-atmosphere,.loader-mark,.loader-mark img,.loader-orbit,.loader-progress span,.loader-caption{animation:none!important}
  .loader-caption{opacity:1}
  .loader-progress span{transform:scaleX(1)}
  .site-loader.is-leaving .loader-content{filter:none;transform:none}
}


/* Rushly animation stability — V3.3 */
.scene{
  background:var(--paper);
  transition:background-color .18s linear;
}
.scene.is-dark{
  background:#151915;
}
.is-enhanced .story-panel{
  visibility:visible;
}
@media(max-width:700px){
  .scene,
  .scene canvas{
    -webkit-backface-visibility:hidden;
    backface-visibility:hidden;
  }
  .scene{
    -webkit-transform:translateZ(0);
    transform:translateZ(0);
  }
}

/* Rushly kinetic mobile navigation — V3.4 */
.mobile-nav-head,.mobile-nav-aura,.mobile-nav-foot,.nav-mobile-index,.nav-mobile-meta,.nav-mobile-arrow{display:none}
.mobile-nav-links{display:contents}
.nav-label{display:inline}
.menu-toggle-label,.menu-toggle-glyph{display:inline-flex}

@media(max-width:700px){
  body.menu-open .masthead{
    background:#101310;
    color:#edf0e8;
    box-shadow:none;
    border-bottom:1px solid rgba(237,240,232,.08);
  }
  .masthead{
    transition:background-color .42s ease,color .34s ease,border-color .42s ease,box-shadow .42s ease;
  }
  body.menu-open .masthead .brand img{
    filter:drop-shadow(0 0 14px rgba(197,154,86,.16));
  }
  body.menu-open .masthead .nav-cta{
    border-color:rgba(237,240,232,.55);
  }

  .masthead nav{
    display:grid;
    grid-template-rows:auto minmax(0,1fr) auto;
    position:fixed;
    inset:82px 0 0;
    width:auto;
    height:calc(100dvh - 82px);
    padding:23px var(--pad) calc(18px + env(safe-area-inset-bottom));
    overflow:hidden;
    background:
      radial-gradient(circle at 92% 13%,rgba(197,154,86,.13),transparent 28%),
      radial-gradient(circle at 8% 88%,rgba(112,131,111,.10),transparent 34%),
      linear-gradient(145deg,#111512 0%,#0d100e 62%,#121612 100%);
    color:#edf0e8;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:none;
    clip-path:inset(0 0 100% 0);
    transition:clip-path .78s cubic-bezier(.65,0,.22,1),opacity .34s ease,visibility 0s linear .80s;
    will-change:clip-path,opacity;
    isolation:isolate;
  }
  .masthead nav.open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    clip-path:inset(0 0 0 0);
    transition:clip-path .88s cubic-bezier(.16,1,.3,1),opacity .34s ease,visibility 0s;
  }
  .masthead nav::before{
    content:'';
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:1px;
    margin:0;
    background:linear-gradient(90deg,var(--gold),rgba(197,154,86,.12) 52%,transparent 86%);
    transform:scaleX(0);
    transform-origin:left;
    opacity:1;
    z-index:3;
  }
  .masthead nav.open::before{animation:menu-rail-in 1.08s cubic-bezier(.16,1,.3,1) .20s forwards}
  .masthead nav::after{
    content:'';
    position:absolute;
    inset:-35% -45% auto auto;
    width:120%;
    height:38%;
    margin:0;
    padding:0;
    border:0;
    background:linear-gradient(112deg,transparent 36%,rgba(197,154,86,.045) 49%,transparent 61%);
    transform:translate3d(-28%,0,0) rotate(-8deg);
    pointer-events:none;
    opacity:0;
    z-index:0;
  }
  .masthead nav.open::after{animation:menu-light-sweep 1.55s ease-out .24s both}

  .mobile-nav-head{
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    color:rgba(237,240,232,.46);
    font-size:8px;
    font-weight:600;
    letter-spacing:.17em;
    opacity:0;
    transform:translateY(-8px);
    transition:opacity .42s ease,transform .62s cubic-bezier(.16,1,.3,1);
  }
  nav.open .mobile-nav-head{opacity:1;transform:none;transition-delay:.24s}
  .mobile-nav-status{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
  .mobile-nav-status i{
    width:5px;height:5px;border-radius:50%;background:#c5a05f;box-shadow:0 0 0 4px rgba(197,160,95,.08);
  }

  .mobile-nav-aura{
    display:block;
    position:absolute;
    z-index:0;
    width:min(78vw,350px);
    aspect-ratio:1;
    right:-29vw;
    top:7vh;
    opacity:0;
    transform:scale(.82) rotate(-18deg);
    transition:opacity .78s ease .22s,transform 1.38s cubic-bezier(.16,1,.3,1) .12s;
    pointer-events:none;
  }
  nav.open .mobile-nav-aura{opacity:.8;transform:scale(1) rotate(0)}
  .mobile-nav-aura span{position:absolute;border-radius:50%;inset:0;border:1px solid rgba(197,154,86,.11)}
  .mobile-nav-aura span:nth-child(2){inset:13%;border-color:rgba(237,240,232,.07);border-left-color:rgba(197,154,86,.22);animation:menu-orbit 16s linear infinite}
  .mobile-nav-aura span:nth-child(3){inset:29%;border-color:rgba(197,154,86,.13);border-right-color:rgba(237,240,232,.16);animation:menu-orbit-rev 12s linear infinite}

  .mobile-nav-links{
    position:relative;
    z-index:2;
    display:grid;
    align-content:center;
    gap:2px;
    min-height:0;
    padding:4vh 0 3vh;
  }
  .masthead nav .mobile-nav-links>a{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1fr) 48px;
    grid-template-rows:auto auto;
    grid-template-areas:'label arrow' 'meta arrow';
    align-items:center;
    gap:7px 16px;
    width:100%;
    min-height:105px;
    padding:14px 0 14px 13px;
    border:0;
    overflow:hidden;
    color:#edf0e8;
    font-size:inherit;
    font-weight:400;
    letter-spacing:normal;
    line-height:1;
    opacity:0;
    transform:translate3d(0,18px,0) scale(.992);
    filter:blur(4px);
    transition:opacity .46s ease,transform .74s cubic-bezier(.16,1,.3,1),filter .58s ease,color .28s ease;
    will-change:transform,opacity,filter;
  }
  .masthead nav .mobile-nav-links>a::before{
    content:'';
    position:absolute;
    inset:7px -14px 7px 0;
    border-radius:20px 0 0 20px;
    background:linear-gradient(90deg,rgba(237,240,232,.055),rgba(197,154,86,.035) 57%,transparent 92%);
    transform:translateX(-102%);
    transition:transform .48s cubic-bezier(.16,1,.3,1);
    z-index:-1;
  }
  .masthead nav .mobile-nav-links>a::after{display:none;content:none}
  .masthead nav.open .mobile-nav-links>a{
    opacity:1;
    transform:none;
    filter:none;
    transition-delay:var(--rushly-nav-delay,.30s);
  }
  .masthead nav .mobile-nav-links>a:active::before{transform:translateX(0);transition-duration:.18s}
  .masthead nav .mobile-nav-links>a:active{color:#d8bb86}

  .nav-label{
    grid-area:label;
    position:relative;
    z-index:2;
    font-size:clamp(38px,11.3vw,51px);
    font-weight:400;
    letter-spacing:-.062em;
    line-height:.95;
  }
  .masthead nav .mobile-nav-links>a sup{display:none}
  .nav-mobile-index{
    display:block;
    position:absolute;
    top:2px;
    right:56px;
    z-index:0;
    color:rgba(237,240,232,.045);
    font-size:58px;
    font-weight:600;
    letter-spacing:-.08em;
    line-height:1;
    pointer-events:none;
    transform:translateX(13px);
    opacity:0;
    transition:opacity .68s ease,transform .86s cubic-bezier(.16,1,.3,1);
  }
  nav.open .nav-mobile-index{opacity:1;transform:none}
  .nav-mobile-meta{
    grid-area:meta;
    display:block;
    color:rgba(237,240,232,.43);
    font-size:8px;
    font-weight:600;
    letter-spacing:.145em;
    line-height:1.3;
    text-transform:uppercase;
  }
  .nav-mobile-arrow{
    grid-area:arrow;
    position:relative;
    z-index:2;
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    justify-self:end;
    border:1px solid rgba(237,240,232,.18);
    border-radius:50%;
    transition:background .25s ease,border-color .25s ease,transform .28s cubic-bezier(.16,1,.3,1);
  }
  .nav-mobile-arrow::before{
    content:'';
    width:12px;
    height:1px;
    background:currentColor;
    transform:translateX(-1px);
  }
  .nav-mobile-arrow::after{
    content:'';
    position:absolute;
    width:6px;
    height:6px;
    border-top:1px solid currentColor;
    border-right:1px solid currentColor;
    transform:rotate(45deg) translate(-1px,1px);
  }
  .masthead nav .mobile-nav-links>a:active .nav-mobile-arrow{
    background:#c5a05f;
    border-color:#c5a05f;
    color:#111512;
    transform:translateX(4px);
  }

  .mobile-nav-foot{
    position:relative;
    z-index:2;
    display:block;
    opacity:0;
    transform:translateY(16px);
    transition:opacity .46s ease,transform .72s cubic-bezier(.16,1,.3,1);
  }
  nav.open .mobile-nav-foot{opacity:1;transform:none;transition-delay:.62s}
  .masthead nav .mobile-nav-cta{
    display:grid;
    grid-template-columns:minmax(0,1fr) 46px;
    grid-template-rows:auto auto;
    grid-template-areas:'hint icon' 'title icon';
    gap:4px 14px;
    align-items:center;
    width:100%;
    padding:15px 15px 15px 17px;
    border:1px solid rgba(237,240,232,.13);
    border-radius:17px;
    background:rgba(237,240,232,.035);
    color:#edf0e8;
    font-size:inherit;
    letter-spacing:normal;
    line-height:1;
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
  }
  .masthead nav .mobile-nav-cta::before,.masthead nav .mobile-nav-cta::after{display:none;content:none}
  .mobile-nav-cta>span{grid-area:hint;color:rgba(237,240,232,.42);font-size:8px;font-weight:600;letter-spacing:.13em;text-transform:uppercase}
  .mobile-nav-cta>strong{grid-area:title;margin-top:2px;font-size:17px;font-weight:400;letter-spacing:-.025em}
  .mobile-nav-cta>i{grid-area:icon;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#c5a05f;color:#111512;font-size:19px;font-style:normal;font-family:Arial,Helvetica,sans-serif;font-variant-emoji:text;transition:transform .3s cubic-bezier(.16,1,.3,1)}
  .mobile-nav-cta:active>i{transform:rotate(45deg) scale(.94)}
  .mobile-nav-footline{display:flex;justify-content:space-between;gap:18px;padding:12px 3px 0;color:rgba(237,240,232,.27);font-size:7px;font-weight:600;letter-spacing:.13em}

  .menu-toggle{
    position:relative;
    z-index:4;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
    min-width:68px;
    padding:10px 0;
    border:0;
    background:none;
    color:inherit;
    font-size:12px;
  }
  .menu-toggle-label{
    position:relative;
    display:grid;
    min-width:31px;
    line-height:1;
  }
  .menu-toggle-label>span{grid-area:1/1;transition:opacity .30s ease,transform .44s cubic-bezier(.16,1,.3,1)}
  .menu-label-open{opacity:1;transform:none}
  .menu-label-close{opacity:0;transform:translateY(7px)}
  body.menu-open .menu-label-open{opacity:0;transform:translateY(-7px)}
  body.menu-open .menu-label-close{opacity:1;transform:none}
  .menu-toggle-glyph{
    position:relative;
    display:block;
    width:17px;
    height:17px;
  }
  .menu-toggle-glyph i{
    position:absolute;
    left:1px;
    top:8px;
    width:15px;
    height:1.5px;
    border-radius:2px;
    background:currentColor;
    transform-origin:center;
    transition:transform .48s cubic-bezier(.16,1,.3,1),width .36s ease;
  }
  .menu-toggle-glyph i:first-child{transform:translateY(-4px)}
  .menu-toggle-glyph i:last-child{transform:translateY(4px);width:10px;left:6px}
  body.menu-open .menu-toggle-glyph i:first-child{transform:rotate(45deg);width:15px}
  body.menu-open .menu-toggle-glyph i:last-child{transform:rotate(-45deg);width:15px;left:1px}

  @media(hover:hover){
    .masthead nav .mobile-nav-links>a:hover::before{transform:translateX(0)}
    .masthead nav .mobile-nav-links>a:hover{color:#d8bb86}
    .masthead nav .mobile-nav-links>a:hover .nav-mobile-arrow{background:#c5a05f;border-color:#c5a05f;color:#111512;transform:translateX(4px)}
  }
}

@keyframes menu-rail-in{to{transform:scaleX(1)}}
@keyframes menu-light-sweep{0%{opacity:0;transform:translate3d(-28%,0,0) rotate(-8deg)}25%{opacity:1}100%{opacity:0;transform:translate3d(34%,44%,0) rotate(-8deg)}}
@keyframes menu-orbit{to{transform:rotate(360deg)}}
@keyframes menu-orbit-rev{to{transform:rotate(-360deg)}}

@media(max-width:700px) and (max-height:690px){
  .masthead nav{padding-top:17px;padding-bottom:calc(12px + env(safe-area-inset-bottom))}
  .mobile-nav-links{padding:1vh 0}
  .masthead nav .mobile-nav-links>a{min-height:88px;padding-top:9px;padding-bottom:9px}
  .nav-label{font-size:clamp(34px,10.4vw,45px)}
  .mobile-nav-footline{display:none}
  .masthead nav .mobile-nav-cta{padding-top:12px;padding-bottom:12px}
}

@media(prefers-reduced-motion:reduce){
  .masthead nav,.masthead nav::before,.masthead nav::after,.mobile-nav-head,.mobile-nav-aura,.mobile-nav-aura span,.masthead nav .mobile-nav-links>a,.nav-mobile-index,.mobile-nav-foot,.menu-toggle-label>span,.menu-toggle-glyph i{animation:none!important;transition-duration:.01ms!important}
}

/* =========================================================
   Rushly Studio V3.5 — Mobile header/menu alignment polish
   Desktop header remains unchanged.
   ========================================================= */
@media (max-width:700px){
  /* Keep the desktop CTA on desktop only. The full menu CTA remains available. */
  .masthead > .nav-cta{
    display:none !important;
  }

  /* Stable two-end mobile header: brand left, menu control right. */
  .masthead{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
  }
  .masthead .brand{
    flex:0 0 auto;
    min-width:0;
  }

  /* Undo an older generic span rotation/font rule that distorted "Kapat". */
  .menu-toggle,
  body.menu-open .menu-toggle{
    flex:0 0 auto;
    min-width:76px;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
    padding:10px 0;
    white-space:nowrap;
    writing-mode:horizontal-tb;
  }
  .menu-toggle .menu-toggle-label{
    display:grid !important;
    min-width:38px;
    place-items:center end;
    transform:none !important;
    rotate:none !important;
    writing-mode:horizontal-tb;
  }
  .menu-toggle .menu-toggle-label > span{
    grid-area:1/1;
    display:block;
    width:auto;
    font-size:12px !important;
    line-height:1 !important;
    letter-spacing:0;
    white-space:nowrap;
    writing-mode:horizontal-tb;
    rotate:none !important;
  }
  .menu-toggle .menu-label-open{
    opacity:1;
    transform:translate3d(0,0,0) !important;
  }
  .menu-toggle .menu-label-close{
    opacity:0;
    transform:translate3d(0,7px,0) !important;
  }
  body.menu-open .menu-toggle .menu-label-open{
    opacity:0;
    transform:translate3d(0,-7px,0) !important;
  }
  body.menu-open .menu-toggle .menu-label-close{
    opacity:1;
    transform:translate3d(0,0,0) !important;
  }

  /* Keep only the glyph lines rotating; never rotate the text label. */
  .menu-toggle .menu-toggle-glyph,
  body.menu-open .menu-toggle .menu-toggle-glyph{
    transform:none !important;
    rotate:none !important;
  }
  .menu-toggle .menu-toggle-glyph i{
    font-size:inherit !important;
  }

  /* Give the menu content a calmer inset on narrow iPhones. */
  .masthead nav{
    --mobile-menu-edge:28px;
    padding-left:var(--mobile-menu-edge);
    padding-right:var(--mobile-menu-edge);
  }
  .masthead nav .mobile-nav-links > a{
    padding-left:4px;
  }
  .mobile-nav-head,
  .mobile-nav-foot{
    padding-left:4px;
    padding-right:4px;
  }
}

@media (max-width:390px){
  .masthead nav{--mobile-menu-edge:24px}
  .menu-toggle,body.menu-open .menu-toggle{min-width:70px;gap:8px}
  .menu-toggle .menu-toggle-label > span{font-size:11px !important}
}

/* Rushly V3.8 — iOS Safari canvas lock
   Important: this does NOT alter the 3D keyframes, scale, rotation or scroll choreography.
   Safari may resize the CSS viewport while the bottom browser bar collapses/expands.
   The WebGL drawing buffer is intentionally stable on mobile, so the visible canvas must
   keep that same height or Safari stretches the buffer and makes the object appear to
   grow/drop. */
@media(max-width:700px){
  .scene canvas{
    position:absolute;
    left:0;
    top:0;
    right:auto;
    bottom:auto;
    width:100%;
    height:var(--rushly-scene-height,100svh);
    max-width:none;
    max-height:none;
  }
}

/* =========================================================
   Rushly Studio V3.9 — Mobile bottom viewport gap fix
   Keep the stabilized WebGL canvas and 3D choreography untouched.
   On iOS Safari, 100svh reserves space for the fully expanded browser
   chrome, which leaves a visible blank band when the toolbar collapses.
   The sticky UI follows the dynamic viewport instead, while the canvas
   remains locked by V3.8 so the 3D object is not stretched or shifted.
   ========================================================= */
@media (max-width:700px){
  .is-enhanced .story-sticky{
    height:100dvh;
    min-height:0;
  }

  /* Push the experience controls to the real visible bottom edge.
     Less padding also gives the 3D object more unobstructed room. */
  .is-enhanced .story-bottom{
    bottom:0;
    padding:8px var(--pad) max(6px, env(safe-area-inset-bottom));
    background:linear-gradient(to top,rgba(233,234,229,.92) 0%,rgba(233,234,229,.62) 42%,transparent 100%);
  }
  .is-enhanced .story-sticky.is-dark .story-bottom{
    background:linear-gradient(to top,rgba(21,25,21,.94) 0%,rgba(21,25,21,.64) 42%,transparent 100%);
  }
}

/* Rushly Studio V4.6 — Mobile 3D stage boundary fix
   The canvas itself stays anchored to the viewport. V4.5 moved the canvas upward,
   which also moved its bottom edge upward and exposed a hard WebGL boundary.
   The stable render surface now covers the full large mobile viewport; the tiny visual
   lift is applied inside Three.js instead, so the object can move without being clipped. */
@media (max-width:700px){
  .scene{overflow:hidden}
  .scene canvas{top:0}
}

/* =========================================================
   Rushly Studio V4.9 — Mobile copy performance pass
   Same V4.8 geometry, but the collapsing-header follow is now
   transform-only. Static paddings avoid layout/reflow during scroll;
   studio.js moves each panel as one compositor layer instead of
   transforming every child separately.
   ========================================================= */
@media (max-width:700px){
  .story-top{padding-top:105px;will-change:transform}
  .is-enhanced .hero-panel{padding-top:150px}
  .is-enhanced .build-panel,
  .is-enhanced .ai-panel{padding-top:150px}

  /* Remove V4.4 per-child compositor layers; panel transform is applied in JS. */
  .is-enhanced .hero-panel > *,
  .is-enhanced .build-panel > *,
  .is-enhanced .ai-panel > *{
    transform:none!important;
    will-change:auto!important;
    transition:none;
  }

  .is-enhanced .story-panel.is-active{will-change:transform,opacity}
}

/* V4.9.3 — responsive capability strip */
.capability-strip{
  width:100%;
  max-width:100%;
  margin:76px 0 0;
  padding:0;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:clamp(3px,1vw,18px);
  white-space:nowrap;
  overflow:visible;
  font-size:clamp(17px,5.45vw,82px);
  letter-spacing:-.06em;
  line-height:.92;
  transform:none !important;
  animation:none !important;
}
.capability-strip span,.capability-strip i{flex:0 0 auto;min-width:0}
.capability-strip i{font-size:.62em;line-height:1;color:#a58e61}
.expertise{padding-bottom:32px}

@media(max-width:700px){
  .capability-strip{
    margin-top:44px;
    gap:clamp(3px,.8vw,7px);
    font-size:clamp(17px,5.45vw,24px);
    letter-spacing:-.055em;
  }
  .expertise{padding-bottom:24px}
}

/* =========================================================
   Rushly Studio V4.9.4.9 — Contact depth cards
   A lightweight CSS 3D scene for the final chapter. No WebGL,
   no backdrop-filter and only four compositor layers.
   ========================================================= */
.contact-intro{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(460px,1.1fr);
  align-items:center;
  gap:clamp(44px,7vw,130px);
  margin-bottom:clamp(64px,8vw,120px);
}
.contact-intro .contact-heading{
  display:block;
  margin:0;
}
.contact-intro .contact-heading>p{
  margin-top:clamp(26px,3vw,46px);
  max-width:410px;
}
.idea-card-stage{
  position:relative;
  min-height:clamp(430px,38vw,590px);
  perspective:1400px;
  perspective-origin:50% 46%;
  transform-style:preserve-3d;
  isolation:isolate;
  contain:layout paint;
  overflow:visible;
}
.idea-stage-aura{
  position:absolute;
  width:72%;
  aspect-ratio:1;
  left:50%;
  top:48%;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:radial-gradient(circle,rgba(181,151,91,.13) 0%,rgba(107,128,93,.08) 30%,rgba(21,25,21,0) 70%);
  filter:blur(8px);
  pointer-events:none;
}
.idea-stage-track{
  position:absolute;
  left:10%;right:8%;top:52%;height:1px;
  background:linear-gradient(90deg,transparent,rgba(182,159,111,.32) 18%,rgba(231,234,224,.12) 50%,rgba(120,143,105,.3) 82%,transparent);
  transform:rotate(-18deg);
  transform-origin:center;
  pointer-events:none;
}
.idea-stage-track:before,.idea-stage-track:after{
  content:'';
  position:absolute;
  width:5px;height:5px;border-radius:50%;
  top:-2px;
  background:#b59861;
  box-shadow:0 0 22px rgba(181,152,97,.62);
}
.idea-stage-track:before{left:19%}.idea-stage-track:after{right:14%;background:#93a589;box-shadow:0 0 22px rgba(147,165,137,.55)}
.idea-card{
  position:absolute;
  left:50%;top:47%;
  width:clamp(168px,13.8vw,224px);
  aspect-ratio:.70;
  padding:clamp(20px,2vw,30px);
  border:1px solid rgba(226,232,219,.26);
  border-radius:clamp(18px,1.7vw,26px);
  background:
    linear-gradient(145deg,rgba(230,235,222,.09),rgba(230,235,222,.018) 38%,rgba(17,22,18,.22) 100%),
    #171d18;
  box-shadow:
    0 36px 80px rgba(0,0,0,.30),
    inset 0 1px 0 rgba(255,255,255,.10),
    inset 0 -1px 0 rgba(255,255,255,.025);
  color:#edf0e8;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  transform-style:preserve-3d;
  transform-origin:center;
  overflow:hidden;
  pointer-events:none;
}
.idea-card:before{
  content:'';
  position:absolute;
  inset:-40% -70%;
  background:linear-gradient(112deg,transparent 42%,rgba(255,255,255,.12) 50%,transparent 58%);
  transform:translateX(-48%) rotate(8deg);
  opacity:.35;
}
.idea-card:after{
  content:'';
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:radial-gradient(circle at 22% 18%,rgba(198,167,105,.13),transparent 32%),linear-gradient(180deg,transparent 62%,rgba(0,0,0,.22));
  pointer-events:none;
}
.idea-card-index{
  position:absolute;
  top:22px;left:24px;
  z-index:2;
  font-size:10px;
  letter-spacing:.12em;
  color:#b9a477;
}
.idea-card-icon{
  position:absolute;
  z-index:2;
  top:25%;left:50%;
  width:clamp(38px,3.8vw,58px);
  height:auto;
  transform:translate(-50%,-50%);
  fill:none;
  stroke:#dfe5d8;
  stroke-width:1.25;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:.78;
}
.idea-card h3{
  position:relative;
  z-index:2;
  margin:0;
  font-size:clamp(24px,2.25vw,36px);
  line-height:1.02;
  letter-spacing:-.055em;
  font-weight:500;
}
.idea-card p{
  position:relative;
  z-index:2;
  margin:14px 0 0;
  max-width:150px;
  color:#8f9c89;
  font-size:11px;
  line-height:1.5;
}
.idea-card.is-active{
  border-color:rgba(220,195,142,.48);
  box-shadow:
    0 42px 95px rgba(0,0,0,.38),
    0 0 46px rgba(176,145,85,.08),
    inset 0 1px 0 rgba(255,255,255,.15);
}
.idea-card.is-active .idea-card-icon{stroke:#f0dfb7;opacity:1}
.idea-card.is-active h3{color:#f2f3ed}
.idea-stage-progress{
  position:absolute;
  left:8%;right:5%;bottom:7%;
  display:flex;
  align-items:center;
  gap:clamp(8px,1.2vw,18px);
  color:#6f7c69;
  font-size:9px;
  letter-spacing:.11em;
  white-space:nowrap;
}
.idea-stage-progress i{
  position:absolute;
  left:0;right:0;top:-14px;
  height:1px;
  background:linear-gradient(90deg,#b79a62 var(--idea-progress,0%),rgba(143,157,134,.18) var(--idea-progress,0%));
}
.idea-stage-progress b{font-weight:400;color:#a88b54}

@media(max-width:1050px){
  .contact-intro{grid-template-columns:.85fr 1.15fr;gap:42px}
  .idea-card-stage{min-height:430px}
}

@media(max-width:700px){
  .contact-intro{display:block;margin-bottom:56px}
  .contact-intro .contact-heading{margin-bottom:0}
  .contact-intro .contact-heading>p{margin-top:24px;max-width:300px}
  .idea-card-stage{
    min-height:390px;
    margin:20px -8px 0;
    perspective:1000px;
    overflow:hidden;
  }
  .idea-stage-aura{width:105%;top:46%}
  .idea-stage-track{left:2%;right:0;top:49%;transform:rotate(-14deg)}
  .idea-card{
    top:45%;
    width:clamp(172px,51vw,210px);
    padding:20px;
    border-radius:20px;
  }
  .idea-card-index{top:18px;left:19px;font-size:9px}
  .idea-card-icon{width:42px}
  .idea-card h3{font-size:27px}
  .idea-card p{font-size:10px;margin-top:11px}
  .idea-stage-progress{
    left:12px;right:12px;bottom:3%;
    justify-content:center;
    gap:7px;
    font-size:7px;
    letter-spacing:.06em;
  }
  .idea-stage-progress i{top:-11px}
  .contact-grid{margin-top:0}
}

@media(prefers-reduced-motion:reduce){
  .idea-card{will-change:auto!important}
  .idea-card:not(:first-of-type){opacity:.28}
}

/* Static composition before/without the motion enhancement. JS replaces these
   with the time-based depth choreography when motion is enabled. */
.idea-card[data-idea-card="0"]{transform:translate3d(calc(-50% - 112px),calc(-50% + 58px),-120px) rotateY(-13deg) rotateZ(2deg) scale(.91);opacity:.64;z-index:8}
.idea-card[data-idea-card="1"]{transform:translate3d(calc(-50% - 38px),calc(-50% + 20px),-55px) rotateY(-9deg) rotateZ(.8deg) scale(.96);opacity:.82;z-index:12}
.idea-card[data-idea-card="2"]{transform:translate3d(calc(-50% + 42px),calc(-50% - 18px),0) rotateY(-6deg) rotateZ(-.4deg) scale(1);opacity:1;z-index:16}
.idea-card[data-idea-card="3"]{transform:translate3d(calc(-50% + 122px),calc(-50% - 55px),-75px) rotateY(-2deg) rotateZ(-1.5deg) scale(.94);opacity:.74;z-index:10}

@media(min-width:701px){
  .contact-intro .contact-heading h2{font-size:clamp(88px,9.5vw,174px)}
}
@media(max-width:700px){
  .idea-card[data-idea-card="0"]{transform:translate3d(calc(-50% - 58px),calc(-50% + 34px),-88px) rotateY(-12deg) rotateZ(1.5deg) scale(.92)}
  .idea-card[data-idea-card="1"]{transform:translate3d(calc(-50% - 20px),calc(-50% + 12px),-40px) rotateY(-9deg) rotateZ(.6deg) scale(.96)}
  .idea-card[data-idea-card="2"]{transform:translate3d(calc(-50% + 22px),calc(-50% - 10px),0) rotateY(-6deg) scale(1)}
  .idea-card[data-idea-card="3"]{transform:translate3d(calc(-50% + 64px),calc(-50% - 34px),-58px) rotateY(-2deg) rotateZ(-1deg) scale(.95)}
}


/* Rushly Studio V4.9.4.11 — Footer motion + registered mark spacing
   Keep the giant word pre-positioned while the footer is still off-screen so
   its JS reveal never begins from an untransformed frame. Place the registered
   mark after the natural RUSHLY word width with an explicit responsive gap. */
.flow-on .footer-word{transform:translate3d(0,62px,0)}
.footer-word>span{top:.055em;right:auto;left:calc(100% + clamp(8px,.7vw,14px));font-size:.105em;line-height:1;letter-spacing:0}
@media(max-width:700px){
  .flow-on .footer-word{transform:translate3d(0,46px,0)}
  .footer-word>span{top:.045em;right:auto;left:calc(100% + 7px);font-size:.14em}
}


/* V4.9.4.15 — audited responsive live project previews */
.project-live .project-photo{background:#111713}
.project-preview-surface{position:absolute;inset:0;overflow:hidden;isolation:isolate;transform-origin:center center;background:#111713;z-index:0}
.project-preview-surface canvas,.soydemir-preview-canvas,.soydemir-preview-canvas>canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.project-preview-fallback{position:absolute;inset:0;z-index:0;transition:opacity .4s ease}
.project-preview-surface[data-ready="true"] .project-preview-fallback{opacity:0}
.preview-decobros{background:radial-gradient(circle at 73% 44%,rgba(189,170,224,.16),transparent 28%),radial-gradient(circle at 66% 52%,rgba(213,244,118,.07),transparent 24%),linear-gradient(135deg,#151a18 0%,#202820 54%,#0f1512 100%)}
.preview-decobros .project-preview-fallback{background:radial-gradient(circle at 70% 45%,rgba(187,167,222,.17),transparent 25%),linear-gradient(135deg,#151a18,#253027 58%,#101511)}
.preview-soydemir{background:radial-gradient(circle at 74% 44%,rgba(255,235,211,.13),transparent 27%),linear-gradient(122deg,#1c1a18 0%,#34302b 55%,#151412 100%)}
.preview-soydemir .project-preview-fallback{background:radial-gradient(circle at 72% 43%,rgba(255,241,221,.11),transparent 27%),linear-gradient(125deg,#191816,#3c3831 58%,#161513)}
.project-live .photo-shade{z-index:2;background:linear-gradient(180deg,rgba(5,10,8,.20),transparent 38%,rgba(6,11,9,.32) 58%,rgba(6,11,9,.90) 92%)}
.project-live .project-topline,.project-live .project-word,.project-live .project-open{z-index:4}
.project-live .project-caption{position:relative;z-index:5}
@media(max-width:700px){.project-live .photo-shade{background:linear-gradient(180deg,rgba(5,10,8,.28),transparent 35%,rgba(6,11,9,.42) 57%,rgba(6,11,9,.94) 84%)}.project-live .project-topline{max-width:calc(100% - 92px);line-height:1.35}}


/* V4.9.4.21.1 — responsive static project covers
   Three approved cover crops: mobile <=700px, tablet <=1100px, desktop default. */
.project-cover-responsive{position:absolute;inset:0;display:block;width:100%;height:100%;overflow:hidden;z-index:0}
.project-cover-responsive>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center;transition:transform .75s cubic-bezier(.2,.65,.3,1);will-change:transform}
.project a:hover .project-cover-responsive>img{transform:scale(1.025)}
.flow-on .project-cover-responsive>img{transition:none;will-change:transform}
.motion-off .project-cover-responsive>img{transform:none!important}
@media(prefers-reduced-motion:reduce){.project-cover-responsive>img{transition:none!important;transform:none!important}}
