/* Portfolio adaptations layered over the retained reference styling. */
.TweAmbient{position:fixed;inset:0;overflow:hidden;pointer-events:none;display:none;mix-blend-mode:screen}
body:is([data-page="works"],[data-page="graphic-design"],[data-page="about"],[data-page="contact"]) .TweAmbient{display:block}
.TweAmbient__field{position:absolute;inset:-25%;background:radial-gradient(ellipse at 20% 35%,#7341ac66,transparent 42%),radial-gradient(ellipse at 78% 70%,#26ada54a,transparent 42%),radial-gradient(ellipse at 70% 18%,#a666372b,transparent 30%);filter:blur(35px);transform:translate(var(--ambient-x,0px),var(--ambient-y,0px));animation:twe-ambient-color 19s ease-in-out infinite alternate}
.TweAmbient__word{position:absolute;left:14%;top:38%;width:72%;opacity:.09;transform:translate(var(--ambient-x,0px),var(--ambient-y,0px));animation:twe-ambient-float 17s ease-in-out infinite alternate}
.TweAmbient__word img{width:100%;height:auto;filter:blur(1px)}
@keyframes twe-ambient-color{0%{opacity:.55;filter:blur(35px) hue-rotate(0deg)}45%{opacity:1}65%{opacity:.7}100%{opacity:.85;filter:blur(48px) hue-rotate(85deg)}}
@keyframes twe-ambient-float{0%{translate:-3% -22%;rotate:-7deg;opacity:.055}50%{opacity:.13}100%{translate:5% 27%;rotate:5deg;opacity:.075}}
body[data-page="contact"] .Layout__wrapper,body[data-page="contact"] .Layout__inner{background:transparent}
.twe-case .twe-case-film video{aspect-ratio:auto!important;max-height:85svh!important}
.twe-bio-section{padding:36px 0;border-top:1px solid #ffffff30;margin-top:44px}.twe-bio-section h3{font-size:28px;margin-bottom:24px}.twe-bio-section dl{display:grid;grid-template-columns:145px 1fr;gap:24px}.twe-bio-section dt{font-size:14px;opacity:.65;line-height:1.6}.twe-bio-section dd{margin:0;font-size:17px;line-height:1.65}.twe-bio-section strong{font-weight:500}
.twe-contact-telegram{display:block;width:fit-content;margin-top:28px;font-size:22px;border-bottom:1px solid #ffffff60;padding-bottom:8px}.twe-contact-location{margin-top:55px;font-size:15px;line-height:1.8;opacity:.65}.PageContact__button_en{overflow-wrap:anywhere}
@media(max-width:600px){.twe-bio-section dl{grid-template-columns:1fr;gap:10px}.twe-bio-section dd{margin-bottom:20px}.PageContact__button_en{font-size:clamp(18px,5vw,30px)}}
@media(prefers-reduced-motion:reduce){.TweAmbient__field,.TweAmbient__word{animation:none;transform:none}}
.Header__logo{width:160px}.Header__logo img{display:block;width:100%;height:auto}.Footer__logo img,.TopPageOutro__logo img{width:100%;height:auto}.Header__nav{gap:40px}
.Works__item_title{max-width:90vw}.Works__item_title_link{line-height:1.08}.Works__item_title_ja{font-size:16px}.MissionVision__text{font-size:clamp(24px,3.1vw,52px);line-height:1.35}.MissionVision__text_en{font-size:clamp(16px,1.3vw,22px)}
.twe-service-number{font:700 38px Arial,sans-serif}.Service__item_description{font-size:clamp(18px,1.6vw,26px);line-height:1.55}.Service__item_description_en{font-size:16px}.Stellla__main_text{font-size:clamp(24px,3.3vw,48px)}.Stellla__en{font-size:18px;line-height:1.5}
.twe-film{margin:0 0 56px!important}.twe-film video,.PageAbout__about_img video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#080808;border:0}.twe-film video{max-height:80vh;object-fit:contain}.twe-film figcaption,.twe-styleframe figcaption{font:13px/1.5 Arial,sans-serif;opacity:.65;margin-top:12px}.twe-project-description{font-size:18px!important;line-height:1.7!important}.twe-styleframe{margin:45px 0!important}.twe-styleframe img{display:block;width:100%;height:auto}
.PageWorksDetail__body h2{font-size:28px;margin:80px 0 30px}.Pagination__pagination{display:flex;justify-content:space-between;gap:24px;font-size:14px}.PageAbout__about_description_en,.PageAbout__about_content p{font-size:18px;line-height:1.65}.PageAbout__about_img{margin:48px 0}.twe-text-link{display:inline-block;margin-top:30px;text-decoration:underline;text-underline-offset:8px}.PageWorks__category_item>span{display:block;font-size:16px;line-height:2}.PageContact__textSection_en{font-size:clamp(20px,2.3vw,34px);line-height:1.5}.twe-contact-pending{margin-top:35px;opacity:.65}
#loading-logo{background:none}#loading-logo svg{visibility:visible}.TweakpaneContainers__container{display:none!important}
a:focus-visible,button:focus-visible,video:focus-visible{outline:2px solid #efff6a;outline-offset:6px}
@media(max-width:768px){.Header__logo{width:125px}.Works__item_title{font-size:clamp(23px,6vw,42px)}.MissionVision__text{font-size:26px}.MissionVision__text_en{font-size:16px}.Service__item_description{font-size:18px}.PageWorksDetail__body{width:100%}.twe-project-description{font-size:16px!important}.Pagination__pagination{gap:12px;font-size:12px}.PageAbout__about_mission_text{font-size:30px}.PageAbout__about_content p{font-size:16px}}
/* Minimal asset-progress loader; the page beneath retains its own entrance. */
.TweLoading{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;background:#000;color:#fff;overflow:hidden}
.TweLoading[data-hidden]{display:none;pointer-events:none}
.TweLoading__content{width:min(320px,72vw);position:relative;z-index:1}
.TweLoading__track{display:grid;grid-template-columns:repeat(40,1fr);gap:4px;height:9px}
.TweLoading__dash{background:#292929;border-radius:1px;transition:background .12s}
.TweLoading__dash[data-lit="true"]{background:#f2f2f2}
.TweLoading__percent{display:flex;justify-content:space-between;margin-top:18px;font:400 14px/1.2 monospace;font-variant-numeric:tabular-nums;letter-spacing:.06em}
.TweLoading__burst{position:absolute;left:50%;top:50%;width:22px;height:22px;border:1px solid #fff;border-radius:50%;opacity:0;transform:translate(-50%,-50%);pointer-events:none}
.TweLoading[data-finishing] .TweLoading__burst{animation:twe-loading-burst .7s cubic-bezier(.16,1,.3,1) both}
.TweLoading[data-finishing] .TweLoading__content{opacity:0;transform:scale(1.05);transition:opacity .2s,transform .3s}
@keyframes twe-loading-burst{0%{opacity:.6;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-50%) scale(70)}}
@media(prefers-reduced-motion:reduce){.TweLoading__dash,.TweLoading[data-finishing] .TweLoading__content{transition:none}.TweLoading[data-finishing] .TweLoading__burst{animation:none}}
/* Film-first project stories, following the original portfolio composition. */
.twe-case{background:#080808;color:#f5f5f3;padding:130px max(24px,3vw) 0;position:relative;z-index:2}
.twe-case-top{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 0 24px;font-size:14px}
.twe-case-top>span{margin-left:auto;opacity:.5}.twe-case-close{font-size:28px;border:1px solid #ffffff40;border-radius:50%;width:40px;height:40px;display:grid;place-items:center;line-height:1}
.twe-case .twe-case-film{position:relative;margin:0!important;background:#111;overflow:hidden}
.twe-case .twe-case-film video{width:100%;height:auto;max-height:none;aspect-ratio:16/9;display:block;object-fit:contain;color-scheme:dark}
.twe-case-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid #ffffff70;border-radius:50%;width:120px;height:120px;background:#080808a6;backdrop-filter:blur(12px);color:#fff;font:inherit;font-size:14px;cursor:pointer;transition:background .2s,scale .2s}
.twe-case-play:hover{background:#f5f5f3;color:#080808;scale:1.05}.twe-case-play[hidden]{display:none}
.twe-case-info{display:grid;grid-template-columns:1.1fr 1fr;gap:10vw;padding:100px 6vw 110px}
.twe-case-label,.twe-case-section-label,.twe-case-story dt{font-size:14px;line-height:1.5;color:#ffffff70}
.twe-case-info h1{font-size:clamp(36px,4.5vw,76px);font-weight:400;letter-spacing:-.055em;line-height:1.06;margin:24px 0 0;overflow-wrap:anywhere}
.twe-case-story{padding-top:42px}.twe-case-story>p{font-size:clamp(17px,1.4vw,22px);line-height:1.65;margin:0}
.twe-case-story dl{display:grid;grid-template-columns:1fr 1fr;gap:25px;border-top:1px solid #ffffff30;padding-top:28px;margin-top:40px}.twe-case-story dd{font-size:15px;line-height:1.5;margin:10px 0 0}
.twe-case-frames{padding:0 6vw 100px;display:flex;flex-direction:column;gap:70px}.twe-case-section-label{display:flex;justify-content:space-between;border-top:1px solid #ffffff30;padding-top:22px}
.twe-case .twe-case-frame{width:63%;margin:0!important}.twe-case-frame:nth-of-type(even){align-self:flex-end}.twe-case-frame>div{overflow:hidden;background:#111}.twe-case-frame img{display:block;width:100%;height:auto;transition:transform 1.2s cubic-bezier(.16,1,.3,1)}
.twe-case-frame figcaption{display:flex;gap:20px;justify-content:space-between;color:#aaa;font-size:13px!important;line-height:1.5}.twe-case-frame figcaption>span:last-child{max-width:85%;text-align:right}
.twe-case-next{min-height:85svh;padding:40px 6vw 80px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:55px;border-top:1px solid #ffffff30}
.twe-case-next-top{width:100%;display:flex;justify-content:space-between;font-size:14px}.twe-case-next-top>span{opacity:.5}.twe-case-next-card{width:min(70%,850px);display:block}.twe-case-next-image{position:relative;overflow:hidden}.twe-case-next-image img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.16,1,.3,1)}.twe-case-next-card:hover img{transform:scale(1.04)}.twe-case-next-image>span{position:absolute;bottom:20px;right:20px;background:#080808d9;border:1px solid #ffffff50;padding:13px 20px;border-radius:40px;font-size:14px}
.twe-case-next-card h2{font-size:clamp(24px,3vw,46px);font-weight:400;letter-spacing:-.04em;line-height:1.15;margin:24px 0 0}.twe-case-previous{font-size:14px;align-self:flex-start;color:#aaa}
.twe-case [data-case-reveal]{transition:opacity .9s,transform .9s cubic-bezier(.16,1,.3,1)}.twe-case .case-pending{opacity:0;transform:translateY(45px)}.twe-case-frame.case-pending img{transform:scale(1.12)}
body[data-phase="partial-in"] .twe-case{opacity:0;transition:opacity .3s}body[data-phase="partial-out"] .twe-case{animation:twe-case-in .6s both}@keyframes twe-case-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media(max-width:768px){.twe-case{padding:100px 16px 0}.twe-case-top{gap:12px}.twe-case-top>span{display:none}.twe-case-info{grid-template-columns:1fr;gap:24px;padding:48px 8px 60px}.twe-case-story{padding:0}.twe-case-info h1{font-size:40px}.twe-case-frames{padding:0 8px 60px;gap:40px}.twe-case .twe-case-frame{width:100%}.twe-case-next{min-height:65svh;padding:28px 8px 50px;gap:40px}.twe-case-next-card{width:100%}.twe-case-play{width:82px;height:82px;font-size:12px}.twe-case-next-image>span{right:12px;bottom:12px;padding:10px 14px}.twe-case-story dl{gap:18px}}
@media(prefers-reduced-motion:reduce){.twe-case [data-case-reveal],.twe-case-frame img,.twe-case-next-image img{transition:none}.twe-case .case-pending{opacity:1;transform:none}body[data-phase="partial-out"] .twe-case{animation:none}}
/* Bespoke monochrome transport. Native controls remain the no-JS fallback. */
.twe-player{isolation:isolate;outline-offset:5px}.twe-player video{cursor:pointer}
.twe-player .twe-case-play{width:150px;height:150px;border-radius:0;background:#1119;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:17px;letter-spacing:.12em;font-size:11px;border:1px solid #fff8;backdrop-filter:blur(16px)}
.twe-player .twe-case-play:before,.twe-player .twe-case-play:after{content:'';position:absolute;width:7px;height:7px;background:#fff}.twe-player .twe-case-play:before{top:-4px;left:-4px}.twe-player .twe-case-play:after{bottom:-4px;right:-4px}.twe-player-symbol{font-size:48px;line-height:1;font-weight:300}.twe-player .twe-case-play[hidden]{display:none}
.twe-player-panel{position:absolute;inset:auto 0 0;padding:60px 28px 22px;color:#fff;background:linear-gradient(transparent,#000d);transition:opacity .25s,transform .25s;z-index:2}
.twe-player-row{display:flex;align-items:center;gap:24px;font:11px/1.3 monospace;letter-spacing:.04em;min-height:36px}.twe-player-row button{color:inherit;background:none;border:0;cursor:pointer;padding:10px 0;font:inherit;white-space:nowrap;min-height:40px}.twe-player-row button:hover{opacity:.6}.twe-player-row button span{margin-left:8px}.twe-player-caption{margin-left:auto;margin-right:auto;opacity:.45;font-size:10px}.twe-player-time{white-space:nowrap;font-variant-numeric:tabular-nums}.twe-player-slash{opacity:.4;padding:0 4px}
.twe-player-seek{height:28px;display:flex;align-items:center}.twe-player-seek input{--progress:0%;appearance:none;width:100%;height:3px;background:linear-gradient(to right,#fff var(--progress),#ffffff35 var(--progress));cursor:pointer;margin:0;border-radius:0;padding:0}.twe-player-seek input::-webkit-slider-thumb{appearance:none;width:7px;height:13px;background:#fff;border:0;border-radius:0}.twe-player-seek input::-moz-range-thumb{width:7px;height:13px;background:#fff;border:0;border-radius:0}.twe-player-seek input:disabled{opacity:.4;cursor:wait}
.twe-player-volume{width:55px;height:3px;accent-color:#fff;cursor:pointer}.twe-player-status{display:block;font:12px/1.4 monospace;color:#ddd}.twe-player-status:empty{display:none}.twe-player.is-idle.is-playing .twe-player-panel{opacity:0;transform:translateY(8px);pointer-events:none}.twe-player.is-idle.is-playing{cursor:none}.twe-player.is-idle.is-playing video{cursor:none}.twe-player:focus-within .twe-player-panel{opacity:1;transform:none;pointer-events:auto}
.twe-player:fullscreen{width:100vw;height:100dvh;margin:0!important;background:#000;display:grid;place-items:center}.twe-case .twe-player:fullscreen video{width:100%;height:100%;max-height:100dvh;object-fit:contain}.twe-player:fullscreen .twe-player-panel{position:absolute}
@media(max-width:768px){.twe-player-panel{padding:35px 12px 8px}.twe-player-row{gap:14px;font-size:10px;justify-content:space-between}.twe-player-caption,.twe-player-volume,.twe-player-row [data-action="fullscreen"] span{display:none}.twe-player .twe-case-play{width:88px;height:88px;gap:8px;font-size:9px}.twe-player-symbol{font-size:32px}.twe-player-seek{height:24px}.twe-player-row button{min-height:36px}.twe-player-time{font-size:10px}}
@media(prefers-reduced-motion:reduce){.twe-player-panel,.twe-player .twe-case-play{transition:none}}
.twe-player-row{font-size:14px}.twe-player .twe-case-play{font-size:12px}@media(max-width:768px){.twe-player-row,.twe-player-time{font-size:12px}.twe-player-row{gap:10px}.twe-player .twe-case-play{font-size:11px}}
/* Project pages end at the next-film section; shared footer returns on other routes. */
body[data-page="works-detail"]{background:#080808}
body[data-page="works-detail"] .Footer__footer,body[data-page="works-detail"] .TopPageOutro__wrapper{display:none!important}
body[data-page="works-detail"] .Layout__gl{visibility:hidden}
body[data-page="works-detail"] .Layout__wrapper,body[data-page="works-detail"] .Layout__inner{background:#080808}
/* Reuse the site's fluid wave behind project text; media keeps its original colour. */
body[data-page="works-detail"] .Layout__gl{visibility:visible;pointer-events:none}
body[data-page="works-detail"] .Layout__wrapper,body[data-page="works-detail"] .Layout__inner,body[data-page="works-detail"] .twe-case{background:transparent}
@media(prefers-reduced-motion:reduce){body[data-page="works-detail"] .Layout__gl{visibility:hidden}}

.Header__logo{width:76px}.Header__logo img{width:100%;height:auto;max-height:54px;object-fit:contain}@media(max-width:768px){.Header__logo{width:58px}.Header__logo img{max-height:41px}}

@font-face{font-family:Gegola;src:url('/alche-assets/fonts/gegola.otf') format('opentype');font-display:swap}.twe-nickname{font-family:Gegola,sans-serif!important;font-weight:400;letter-spacing:normal;text-transform:none}

