@font-face{font-family:Paperlogy;src:url('assets/Paperlogy-4Regular.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Paperlogy;src:url('assets/Paperlogy-5Medium.ttf') format('truetype');font-weight:500;font-display:swap}@font-face{font-family:Paperlogy;src:url('assets/Paperlogy-6SemiBold.ttf') format('truetype');font-weight:600;font-display:swap}@font-face{font-family:Paperlogy;src:url('assets/Paperlogy-7Bold.ttf') format('truetype');font-weight:700;font-display:swap}@font-face{font-family:Paperlogy;src:url('assets/Paperlogy-8ExtraBold.ttf') format('truetype');font-weight:800;font-display:swap}@font-face{font-family:Paperlogy;src:url('assets/Paperlogy-9Black.ttf') format('truetype');font-weight:900;font-display:swap}
:root{--bg:#f7f7f5;--ink:#242424;--muted:#6f6f6d;--surface:#e8e8e6;--line:#b8b8b6;--blue:#134a75;--blue-dark:#132f45;--blue-light:#bcdbf7;--pad:clamp(24px,6.111vw,88px);--ease:cubic-bezier(.22,1,.36,1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Paperlogy,sans-serif;font-size:20px;line-height:1.4;letter-spacing:-.01em}body.menu-open,body:has(dialog[open]){overflow:hidden}button,input,select,textarea{font:inherit;letter-spacing:inherit}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer;border:0}button,a{-webkit-tap-highlight-color:transparent}p,h1,h2,h3{margin:0}button:focus-visible,a:focus-visible{outline:3px solid var(--blue);outline-offset:6px}::selection{background:var(--blue);color:var(--bg)}.skip{position:fixed;top:8px;left:8px;z-index:200;transform:translateY(-150%);background:var(--blue);color:white;padding:12px}.skip:focus{transform:none}.header{height:95px;display:flex;align-items:center;justify-content:space-between;padding:20px 40px;position:sticky;top:0;z-index:40;background:rgba(247,247,245,.88);backdrop-filter:blur(18px);transition:box-shadow .4s}.header.is-scrolled{box-shadow:0 1px 0 #24242412}.brand{font-size:32px;font-weight:800;padding:10px 20px;line-height:1.1}.header>nav{display:contents}.header>nav>a{width:120px;text-align:center;padding:10px 0}.header>nav>a:last-child{width:180px}.menu-toggle,.mobile-menu{display:none}main{outline:none;max-width:1440px;margin:0 auto}.section{padding:88px var(--pad);display:flex;flex-direction:column;gap:40px}h2{font-size:48px;font-weight:600;line-height:1.2;letter-spacing:-.01em}.section-heading{display:flex;flex-direction:column;gap:16px}.section-heading>p{color:var(--muted)}.hero{padding:44px var(--pad);display:flex;flex-direction:column;gap:32px;overflow:hidden}.hero-inner{display:flex;flex-direction:column;gap:80px}.hero-name{font-size:clamp(64px,11.667vw,168px);font-weight:900;line-height:1.2;text-align:center;letter-spacing:-.01em;white-space:nowrap}.hero-description{font-weight:500;font-size:32px;line-height:1.1}.hero-role{color:var(--muted)}.hero-name .hero-char{display:inline-block;transform:translateY(115%) rotate(5deg);filter:blur(5px);opacity:0;animation:hero-in 1.2s var(--ease) forwards;animation-delay:calc(var(--i)*.045s + .1s)}.hero-name .char-wrap{display:inline-block;overflow:hidden;vertical-align:bottom}.hero-description,.hero-role{animation:appear 1.2s var(--ease) both;animation-delay:.65s}.hero-role{animation-delay:.8s}@keyframes hero-in{to{transform:none;filter:blur(0);opacity:1}}@keyframes appear{from{opacity:0;transform:translateY(24px);filter:blur(4px)}to{opacity:1;transform:none;filter:blur(0)}}
.project-grid,.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 24px}.project-card{display:flex;flex-direction:column;gap:20px;min-width:0}.project-visual{height:400px;position:relative;overflow:hidden;display:grid;place-items:center;background:var(--surface);color:var(--muted);isolation:isolate}.placeholder-label{transition:transform .8s var(--ease);will-change:transform}.project-info{display:flex;flex-direction:column;align-items:center;gap:20px}.project-info h3,.service-card h3{font-weight:500;font-size:32px;line-height:1.1;text-align:center}.project-meta{display:flex;gap:16px;align-items:center;justify-content:center;color:var(--muted);font-size:clamp(13px,1.389vw,20px);white-space:nowrap;flex-wrap:wrap}.marquee{position:absolute;inset:50% 0 auto;transform:translateY(-50%) scaleY(.7);padding:12px 0;background:#f7f7f5d9;backdrop-filter:blur(16px);opacity:0;transition:opacity .45s,transform .55s var(--ease);color:var(--ink);overflow:hidden;pointer-events:none}.marquee-track{display:flex;width:max-content;animation:marquee 18s linear infinite}.marquee-track span{padding-right:32px;font-weight:500;font-size:32px;white-space:nowrap}@keyframes marquee{to{transform:translateX(-50%)}}.project-card:hover .marquee,.project-card:focus-visible .marquee{opacity:1;transform:translateY(-50%) scaleY(1)}.project-card:hover .placeholder-label{transform:scale(1.05)}.cta-row{display:flex;justify-content:flex-end}.cta{background:var(--blue);color:var(--bg);padding:24px;display:inline-flex;justify-content:center;align-items:center;font-size:24px;line-height:1.1;font-weight:700;min-height:74px;transition:background .4s}.cta:hover{background:var(--blue-dark)}.cta:disabled{opacity:.6;cursor:wait}.cta.upper{text-transform:uppercase}.view-all{width:360px}.roll{overflow:hidden}.roll-text{display:inline-flex;white-space:pre;line-height:1.25;vertical-align:middle}.roll-letter{display:inline-grid;overflow:hidden;position:relative}.roll-front,.roll-back{display:block;grid-area:1/1;transition:transform .55s var(--ease);transition-delay:calc(var(--i)*.022s)}.roll-back{transform:translateY(115%)}.roll:hover .roll-front,.roll:focus-visible .roll-front{transform:translateY(-115%)}.roll:hover .roll-back,.roll:focus-visible .roll-back{transform:none}.service-card{display:flex;flex-direction:column;gap:20px;min-width:0}.service-detail{display:flex;flex-direction:column;gap:16px}.tags{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 20px;max-width:590px;margin:auto}.tag{background:#edededad;backdrop-filter:blur(33.55px);display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:5px 10px;border-radius:2px;font-weight:500;color:var(--muted);font-size:20px}.tag img{width:24px;height:24px;flex:none}.service-detail>p{text-align:center;color:var(--muted);font-size:20px}.about-intro{font-size:32px;line-height:1.1;font-weight:500}.about-split{display:grid;grid-template-columns:562fr 698fr;gap:4px}.portrait{height:420px;background:var(--surface);display:grid;place-items:center;overflow:hidden}.portrait img{width:136.583px;height:115.333px;object-fit:contain;transition:transform 1s var(--ease)}.portrait:hover img{transform:scale(1.035)}.about-statement{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;gap:40px;text-align:right}.about-statement h3{font-size:48px;line-height:1.2;font-weight:600}.about-statement p{color:var(--muted);margin-top:8px}.about-statement .cta{width:340px}.read-word{display:inline-block;white-space:nowrap}.read-char{color:var(--muted);opacity:.35;filter:blur(.6px);transition:opacity .2s,color .2s,filter .2s}.read-char.is-lit{color:var(--ink);opacity:1;filter:none}.contact-section{background:var(--blue-light)}.contact-title{font-weight:400}.contact-title strong{font-weight:600}.contact-split{display:grid;grid-template-columns:490fr 600fr;gap:clamp(40px,12.08vw,174px)}.contact-profile{position:relative;display:flex;flex-direction:column;gap:8px;min-width:0}.contact-portrait{height:537px;background:var(--surface);display:grid;place-items:center;position:relative}.contact-portrait>img{width:172.387px;height:145.566px;object-fit:contain}.socials{position:absolute;bottom:16px;left:16px;display:flex;gap:12.25px}.socials button{padding:0;background:none;display:grid;place-items:center;width:27.022px;height:27.022px;transition:transform .3s}.socials button:hover{transform:translateY(-4px)}.contact-details{padding:12.621px;font-size:25px}.contact-details a{display:block;width:max-content;max-width:100%;overflow-wrap:anywhere}.contact-details a:first-child{font-weight:600}.contact-form{display:flex;flex-direction:column;gap:24px}.field{display:flex;flex-direction:column;gap:12px}.field label{color:var(--blue-dark);font-size:20px}.field input,.field select,.field textarea{border:1px solid transparent;border-radius:0;background:var(--surface);color:var(--ink);width:100%;height:64px;padding:16px 24px;outline:none;transition:background .3s,border-color .3s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue);background:var(--bg)}.field textarea{resize:vertical;min-height:128px;height:128px}.field input::placeholder,.field textarea::placeholder{color:var(--muted);opacity:1}.field [aria-invalid=true]{border-color:#bb1313}.field-error{font-size:14px;color:#a00909}.field-error:empty{display:none}.contact-form>.cta{justify-content:flex-start;width:100%}.form-note,.form-status{font-size:15px;line-height:1.5}.form-note{color:var(--blue-dark)}.form-status:empty{display:none}.form-status{padding:16px;background:var(--bg);border-left:3px solid var(--blue)}.footer{padding:40px var(--pad);display:flex;flex-direction:column;gap:24px;background:#f7f7f5d6}.footer-name{display:block;text-align:center;font-weight:900;font-size:clamp(48px,13.889vw,200px);line-height:1.2;letter-spacing:-.01em;color:var(--muted);white-space:nowrap;border-bottom:3px solid var(--line);overflow:hidden}.footer-name small{font-size:.64em}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;color:var(--muted)}.footer-bottom button{background:none;padding:0;font-size:inherit;color:inherit}.footer-bottom strong{font-weight:600}.reveal{opacity:0;transform:translateY(30px);filter:blur(3px);transition:opacity .9s var(--ease),transform 1s var(--ease),filter .9s;transition-delay:var(--delay,0s)}.reveal.in-view{opacity:1;transform:none;filter:none}.project-cursor{pointer-events:none;position:fixed;left:0;top:0;width:110px;height:110px;border-radius:50%;background:var(--blue);color:var(--bg);z-index:80;display:grid;place-items:center;font-size:15px;opacity:0;transform:translate(-50%,-50%) scale(.2);transition:opacity .25s,transform .4s var(--ease);will-change:translate}.project-cursor.visible{opacity:1;transform:translate(-50%,-50%) scale(1)}.transition-cover{position:fixed;inset:0;background:var(--blue-dark);z-index:100;transform:translateY(101%);pointer-events:none}.transition-cover.enter{transform:translateY(0);transition:transform .45s var(--ease)}.transition-cover.exit{transform:translateY(-101%);transition:transform .6s var(--ease)}.work-title{font-size:88px;font-weight:800;line-height:1.2}.work-description{font-size:32px;line-height:1.1;font-weight:500}.work-year{text-align:right;color:var(--muted)}.filters{display:flex;justify-content:space-between;gap:16px}.filters button{padding:24px;min-height:100px;width:220px;background:#e8e8e680;font-size:24px;font-weight:700;line-height:1.1;transition:background .35s,color .35s}.filters button[aria-pressed=true]{background:var(--blue);color:var(--bg)}.filters button:hover{background:var(--blue-light);color:var(--ink)}.project-card[hidden]{display:none}.empty-state{padding:48px;text-align:center;color:var(--muted)}dialog{border:1px solid var(--line);padding:48px;background:var(--bg);color:var(--ink);max-width:600px;width:calc(100% - 48px)}dialog::backdrop{background:#132f4573;backdrop-filter:blur(6px)}dialog h2{font-size:32px;margin:8px 0 24px}dialog p{line-height:1.7}.dialog-close{position:absolute;right:16px;top:10px;font-size:32px;background:none}.detail-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}.detail-meta dt{color:var(--muted);margin-bottom:16px}.detail-meta dd{margin:0;font-weight:700;font-size:24px}.detail-hero{height:600px}.detail-body{font-size:32px;line-height:1.1}.detail-image{height:480px}.detail-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px}.detail-pair .project-visual{height:460px}
@media(min-width:1441px){body{max-width:1600px;margin:auto}.header{max-width:1440px;margin:auto}.hero-name{font-size:168px}}@media(max-width:1100px){body{font-size:17px}.header{padding:16px 24px;height:84px}.header>nav>a{width:auto;min-width:90px}.header>nav>a:last-child{width:130px}.brand{font-size:28px;padding-left:0}.hero-name{font-size:11.2vw}.hero-description,.about-intro{font-size:28px}.hero-inner{gap:56px}.section{padding-top:64px;padding-bottom:64px}h2,.about-statement h3{font-size:38px}.project-visual{height:32vw}.project-info h3,.service-card h3{font-size:27px}.tag{font-size:15px;padding:5px 8px}.tags{gap:4px 8px}.service-detail>p{font-size:17px}.about-split{grid-template-columns:1fr 1.2fr}.portrait{height:360px}.contact-split{gap:48px;grid-template-columns:1fr 1.2fr}.contact-portrait{height:440px}.contact-details{font-size:21px}.cta{font-size:20px;min-height:68px}.footer-bottom{font-size:14px}.work-title{font-size:72px}.filters button{font-size:18px;min-height:90px;padding:20px 12px}.field label{font-size:17px}}
@media(max-width:700px){html{scroll-padding-top:76px}.header{height:76px;padding:16px 24px}.header>nav{display:none}.brand{font-size:26px;padding:8px 0}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:7px;width:40px;height:40px;padding:8px 0;background:none}.menu-toggle span{display:block;width:30px;height:2px;background:var(--ink);transition:transform .4s}.menu-open .menu-toggle span:first-child{transform:translateY(4.5px) rotate(45deg)}.menu-open .menu-toggle span:last-child{transform:translateY(-4.5px) rotate(-45deg)}.mobile-menu{display:flex;position:fixed;inset:76px 0 0;background:var(--bg);padding:40px 24px;z-index:35;flex-direction:column;justify-content:space-between;transform:translateY(-120%);opacity:0;visibility:hidden;transition:transform .7s var(--ease),opacity .4s,visibility .4s}.menu-open .mobile-menu{transform:none;opacity:1;visibility:visible}.mobile-menu nav{display:flex;flex-direction:column;gap:18px;font-size:48px;font-weight:600}.mobile-menu p{font-size:17px;color:var(--muted)}.hero{padding:30px 24px 48px;gap:24px}.hero-name{font-size:11.1vw;letter-spacing:-.035em}.hero-inner{gap:40px}.hero-description{font-size:22px;line-height:1.25}.hero-role{font-size:15px}.section{padding:56px 24px;gap:32px}h2{font-size:30px}.section-heading>p{font-size:16px}.project-grid,.service-grid{grid-template-columns:1fr;gap:36px}.project-visual{height:65vw;max-height:430px}.project-info{gap:12px}.project-info h3,.service-card h3{font-size:26px}.project-meta{font-size:13px;gap:8px}.project-card{gap:16px}.cta-row .cta,.view-all{width:100%}.cta{font-size:18px;padding:20px;min-height:64px}.tag{font-size:16px}.tags{gap:6px 12px}.service-card{gap:18px}.service-detail>p{font-size:16px}.about-intro{font-size:24px;line-height:1.3}.about-split{grid-template-columns:1fr;gap:24px}.portrait{height:320px}.about-statement{gap:30px;text-align:left;align-items:flex-start}.about-statement h3{font-size:32px;line-height:1.25}.about-statement p{font-size:16px}.about-statement .cta{width:100%}.contact-title{font-size:30px;line-height:1.35}.contact-title strong{display:block;margin-bottom:8px}.contact-split{grid-template-columns:1fr;gap:40px}.contact-portrait{height:380px}.contact-details{font-size:20px;padding:12px 0}.contact-form{gap:20px}.field input,.field select,.field textarea{font-size:16px}.footer{padding:32px 24px;gap:20px}.footer-name{font-size:11.5vw;letter-spacing:-.035em}.footer-bottom{flex-direction:column;align-items:flex-start;gap:14px;font-size:12px}.work-title{font-size:48px}.work-description{font-size:24px;line-height:1.3}.filters{gap:8px;overflow-x:auto;padding-bottom:8px;margin-right:-24px}.filters button{min-width:124px;font-size:16px;padding:16px 10px;min-height:76px}.project-cursor{display:none}.marquee-track span{font-size:24px}dialog{padding:36px 24px}.detail-meta{grid-template-columns:1fr 1fr}.detail-meta dd{font-size:20px}.detail-hero,.detail-image{height:65vw}.detail-body{font-size:24px}.detail-pair{grid-template-columns:1fr}.detail-pair .project-visual{height:65vw}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-delay:0s!important;transition-duration:.001ms!important;transition-delay:0s!important}.hero-name .hero-char{opacity:1;filter:none;transform:none}.reveal{opacity:1;filter:none;transform:none}.read-char{opacity:1;color:var(--ink);filter:none}.project-cursor{display:none}.marquee-track{animation:none!important}}
.roll-line{display:inline-flex}.roll-text.multiline{display:flex;flex-direction:column;align-items:center;white-space:normal;line-height:1.1}.filters button{flex:1;min-width:0}.filters .roll-line{max-width:100%}.detail-meta>div{background:#e8e8e680;padding:5px}.detail-meta dd{color:var(--blue)}.section:has(.detail-body)>h2{color:var(--blue)}
@media(max-width:700px){.filters button{min-width:140px;flex:none}.roll-text.multiline{line-height:1.2}}

.footer-name{cursor:default;user-select:none;overflow:visible}.footer-letters{display:flex;justify-content:space-between;align-items:baseline;width:100%}.footer-letter{display:inline-block;white-space:pre;will-change:transform;transition:transform .25s var(--ease),color .2s linear}.footer-mark{font-size:.64em}@media(prefers-reduced-motion:reduce){.footer-letter{transition:none;will-change:auto}}
