.loader .loader-logo{width:min(450px,72vw);height:auto;overflow:visible;fill:#fff}
.loader-logo .logo-o{animation:o-unfold 1.65s cubic-bezier(.65,0,.25,1) both}
.loader-logo .logo-letter{animation:letter-unfold .75s cubic-bezier(.16,1,.3,1) both;animation-delay:1.1s}
.loader-logo .letter-4{animation-delay:.9s}.loader-logo .letter-0{animation-delay:1s}.loader-logo .letter-1{animation-delay:1.2s}.loader-logo .letter-2{animation-delay:1.3s}.loader-logo .letter-3{animation-delay:1.4s}.loader-logo .letter-5{animation-delay:1.5s}.loader-logo .letter-6{animation-delay:1.6s}
@keyframes o-unfold{0%{opacity:0;transform:translateX(116.27px) scale(.9);transform-origin:71.42px 28.35px}25%,45%{opacity:1;transform:translateX(116.27px) scale(1)}100%{opacity:1;transform:translateX(0) scale(1)}}
@keyframes letter-unfold{from{opacity:0;transform:translateY(12px);filter:blur(3px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
.text-panel{position:fixed;inset:0 auto 0 0;margin:0;width:100%;max-width:none;height:100dvh;max-height:none;padding:0;border:0;background:#f3f2ee;color:#191919;overflow-y:auto;overscroll-behavior:contain;transform:translateX(-100%);transition:transform .85s cubic-bezier(.76,0,.24,1);outline:none}
.text-panel.is-open{transform:translateX(0)}
.text-project-row{transition:opacity .6s ease var(--row-delay,0ms),transform .75s cubic-bezier(.16,1,.3,1) var(--row-delay,0ms),padding .3s,background .3s}
.text-project-row.row-pending{opacity:0;transform:translate3d(-36px,0,0);transition:none}
@media(prefers-reduced-motion:reduce){.text-project-row.row-pending{opacity:1;transform:none}}
body.text-mode-open .hero>.switch{visibility:hidden;pointer-events:none}
.text-panel>.switch{display:none}
/* Wide screens must keep the mode switch inside the initial viewport. */
@media(min-width:601px){
 .hero{height:min(56.25vw,100svh);min-height:min(420px,100svh)}
 .hero>.switch{bottom:max(20px,env(safe-area-inset-bottom))}
}
.text-panel::backdrop{background:rgba(0,0,0,.15)}
.text-panel-inner{padding:36px 4.7% 120px;min-height:100%}
.text-panel-top{display:flex;justify-content:space-between;align-items:center}.text-panel-top img{width:144px}.text-close{border:0;background:none;font-size:12px;padding:10px 0 10px 20px;display:flex;align-items:center;gap:24px}.text-close span{font-size:25px}
.text-intro{padding:95px 0 70px}.text-intro>span{font-size:10px;letter-spacing:2px}.text-intro h2{font-size:clamp(36px,5.5vw,88px);font-weight:400;line-height:1.25;letter-spacing:-.05em;margin:28px 0}.text-intro p{font-size:12px;color:#666;line-height:2}
.text-work-head,.text-project-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(120px,1fr);gap:24px}.text-work-head{padding:15px 0;font-size:10px;color:#777;border-bottom:1px solid #222;letter-spacing:1px}.text-project-row{padding:30px 0;border-bottom:1px solid #c9c8c4;align-items:center}.text-project-name{display:flex;align-items:baseline;gap:28px}.text-project-name span{font-size:10px;color:#888}.text-project-name h3{font-size:clamp(16px,2vw,28px);font-weight:400;margin:0}.text-project-row>p{font-size:12px;margin:0;color:#777}.text-panel-bottom{display:flex;justify-content:space-between;gap:24px;margin-top:65px;font-size:12px}.text-panel .switch{position:fixed;z-index:2;bottom:24px;box-shadow:0 2px 20px #0001}.text-panel-inner{opacity:0;transform:translateX(-35px);transition:opacity .6s .25s,transform .8s .15s}.text-panel.is-open .text-panel-inner{opacity:1;transform:none}
@media(hover:hover){.text-project-row:hover{padding-left:14px;padding-right:14px;background:#e8e7e2}.text-close:hover{opacity:.55}}
@media(max-width:600px){.text-panel-inner{padding:24px 6% 110px}.text-panel-top img{width:108px}.text-intro{padding:65px 0 45px}.text-intro p{font-size:10px}.text-work-head,.text-project-row{grid-template-columns:minmax(0,1fr) 95px;gap:12px}.text-project-name{gap:12px}.text-project-row{padding:24px 0}.text-project-row>p{font-size:10px}.text-panel-bottom{flex-direction:column;gap:16px}}
@media(prefers-reduced-motion:reduce){.loader-logo path{animation:none!important}.text-panel,.text-panel-inner{transition:none;transform:none}.text-panel-inner{opacity:1}}
